mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
195 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 109b8c134c | |||
| 967b1a1814 | |||
| 7fe35f8735 | |||
| cab4040499 | |||
| 4dba9d1e2f | |||
| aedaad51cf | |||
| fbf66f9918 | |||
| 63e4344edc | |||
| dda39aeafc | |||
| 3129be9a78 | |||
| 7c8684761b | |||
| 32418b98a0 | |||
| abeb366f9f | |||
| 28f88ac8e7 | |||
| a6d11c71a0 | |||
| cf2ddc70a1 | |||
| 0b0e6b0350 | |||
| deddd2587c | |||
| ca8b8d6956 | |||
| 9f0e423c28 | |||
| 6c896867c4 | |||
| a859f04b4d | |||
| cc28e2d05d | |||
| 7df915d113 | |||
| c0514bf477 | |||
| 1ed1ccc2c3 | |||
| 1de54de4ef | |||
| 2256c99471 | |||
| 4663f06f3e | |||
| 914798ebeb | |||
| 8a01f969c1 | |||
| 20d6ca2821 | |||
| 7618e00d3b | |||
| 8e63905263 | |||
| 5d7520fbfe | |||
| 04561d6622 | |||
| 2c1841d1d4 | |||
| 3f7d090726 | |||
| d4db7719bd | |||
| b6be3ea45b | |||
| 2b946c9f9b | |||
| 63bed3d319 | |||
| 59f5f0ab64 | |||
| 08a873a739 | |||
| e3505dfc85 | |||
| 79cbdcb1ee | |||
| 87243e38ea | |||
| 8a5883b748 | |||
| 95f096030e | |||
| 459ca56312 | |||
| 38bc495637 | |||
| fde8fd50d8 | |||
| c4d4ac22f7 | |||
| 3f9ebf32a3 | |||
| c1e81252b7 | |||
| a1f4cb93ba | |||
| 25de4c232d | |||
| 21662be221 | |||
| 98500fdc61 | |||
| 06b40267d6 | |||
| 4a08b0dc4d | |||
| 40d3f137e7 | |||
| eb828d01d9 | |||
| 7416ff4766 | |||
| 55952d4dd4 | |||
| 3549534f18 | |||
| 8161551724 | |||
| aab3383e70 | |||
| 426f375422 | |||
| de5e2c219b | |||
| 91e44a3305 | |||
| 9376f5f482 | |||
| d0b5138ba4 | |||
| 2a2ff9da47 | |||
| 3a117e19e0 | |||
| b4ada79aa7 | |||
| 4dfba198e1 | |||
| fb63090b62 | |||
| 60ef3e81f4 | |||
| 89be02e06e | |||
| eb4d05a87a | |||
| 60d5a30b3b | |||
| a6a61ecb87 | |||
| 106dc393f4 | |||
| 35a1f59d63 | |||
| 77f2a92caf | |||
| 14207f487c | |||
| 01688ad545 | |||
| 2f97912800 | |||
| 6d5ad4c411 | |||
| a350bab042 | |||
| 50e5376926 | |||
| 5a07be6ed4 | |||
| 46fceaaa8d | |||
| 239a7e4f53 | |||
| 4d9d4ac26a | |||
| 7756e7465d | |||
| bbfcd01b07 | |||
| bb09ceb954 | |||
| 025e3e0baf | |||
| 9ec7fa82a2 | |||
| 3611fbfb56 | |||
| cbd3bd6cbe | |||
| a77a9b24dc | |||
| 869e35270e | |||
| 8507747600 | |||
| 265671c4a9 | |||
| 04d045a60f | |||
| d7e940584b | |||
| e9a431e6c3 | |||
| 3b3d235308 | |||
| a1a9cc7ef6 | |||
| 2ae331a486 | |||
| 156919f99a | |||
| ca291aec99 | |||
| 0a9046fbcb | |||
| 97792de276 | |||
| 472e85970e | |||
| 9e507ca8a3 | |||
| a6c27ee6db | |||
| 673a11a9d1 | |||
| 01765cd070 | |||
| 39c4be7ac4 | |||
| 9172041601 | |||
| 4575876dc8 | |||
| 3e8474dd50 | |||
| e8ef3a0934 | |||
| 0ba407012c | |||
| cea912af72 | |||
| a7c023ec88 | |||
| 4cf97cebcf | |||
| 0f16ec94a6 | |||
| dc08328821 | |||
| a8e1b3df21 | |||
| b28f194bcf | |||
| a550884a40 | |||
| 96dc4e1390 | |||
| 8743ed43c8 | |||
| 1e00286144 | |||
| dc0ccaee68 | |||
| 9b45794818 | |||
| 936c48f8ca | |||
| 8ddef48d1e | |||
| 70d6f82178 | |||
| 226630a030 | |||
| d22cb61149 | |||
| ec68a99464 | |||
| 8610e74d73 | |||
| 84dbd494dc | |||
| d76626f3c9 | |||
| 6100d02aab | |||
| 6c585c1bfd | |||
| c036347336 | |||
| fa649b7684 | |||
| f701767b4f | |||
| 8839232993 | |||
| 60ea35dac6 | |||
| 0b2421e4c5 | |||
| 2ec618c9fe | |||
| 51e4114a83 | |||
| b3435b0a3a | |||
| b9c31e71f5 | |||
| 3712d186e5 | |||
| 1777785751 | |||
| 890680ca63 | |||
| a683bab097 | |||
| 0e77b7691e | |||
| 7ef3810d28 | |||
| 1eceadaf48 | |||
| 677d665ca0 | |||
| c79d6aa01d | |||
| 3e496b0ea3 | |||
| 9af4184276 | |||
| 20eeb6129d | |||
| 947000d6e4 | |||
| 680e015bfe | |||
| 3f1c15b24a | |||
| 418b98e5f2 | |||
| 0d6868f0e0 | |||
| 50ba526fbf | |||
| 9e02cfa226 | |||
| 99ec74897a | |||
| bbe917d9d4 | |||
| 31b273e7c0 | |||
| 07026777ea | |||
| ebdd90ac28 | |||
| ff43fd2343 | |||
| 418cb178ab | |||
| d07969093a | |||
| e7f312f4ac | |||
| 3c4ebeba17 | |||
| fd2a19c144 | |||
| 5582ef1438 | |||
| 9c95c4f7ba | |||
| 0975715099 |
@@ -207,7 +207,7 @@ SRC_UNIX = \
|
||||
src/config.mk.dist \
|
||||
src/config.mk.in \
|
||||
src/configure \
|
||||
src/configure.in \
|
||||
src/configure.ac \
|
||||
src/gui_at_fs.c \
|
||||
src/gui_at_sb.c \
|
||||
src/gui_at_sb.h \
|
||||
|
||||
@@ -8,3 +8,5 @@ maintainer of the port.
|
||||
|
||||
- Vim README https://github.com/macvim-dev/macvim/blob/master/README_vim.md
|
||||
|
||||
- Travis CI <a href="https://travis-ci.org/macvim-dev/macvim"><img src="https://travis-ci.org/macvim-dev/macvim.svg?branch=master" alt="Build Status"></a><a href="https://travis-ci.org/macvim-dev/homebrew-macvim"><img src="https://travis-ci.org/macvim-dev/homebrew-macvim.svg?branch=master" alt="Build Status"></a>
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
`README.md` for version 7.4 of Vim: Vi IMproved.
|
||||
`README.md` for version 8.0 of Vim: Vi IMproved.
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
|
||||
@@ -41,7 +41,7 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
located. Check the $VIM setting to see where it points to:
|
||||
set VIM
|
||||
For example, if you have
|
||||
C:\vim\vim74
|
||||
C:\vim\vim80
|
||||
do
|
||||
cd C:\
|
||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||
|
||||
@@ -16,9 +16,6 @@ matrix:
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
# Work around for Python 2.7.11's bug
|
||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
|
||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
|
||||
|
||||
build_script:
|
||||
- src/appveyor.bat
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Latest Revision: 2016 Oct 21
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Helper functions {{{
|
||||
function! s:context_echo(message, mode)
|
||||
redraw
|
||||
echo "\r"
|
||||
execute 'echohl' a:mode
|
||||
echomsg '[ConTeXt]' a:message
|
||||
echohl None
|
||||
endf
|
||||
|
||||
function! s:sh()
|
||||
return has('win32') || has('win64') || has('win16') || has('win95')
|
||||
\ ? ['cmd.exe', '/C']
|
||||
\ : ['/bin/sh', '-c']
|
||||
endfunction
|
||||
|
||||
" For backward compatibility
|
||||
if exists('*win_getid')
|
||||
|
||||
function! s:win_getid()
|
||||
return win_getid()
|
||||
endf
|
||||
|
||||
function! s:win_id2win(winid)
|
||||
return win_id2win(a:winid)
|
||||
endf
|
||||
|
||||
else
|
||||
|
||||
function! s:win_getid()
|
||||
return winnr()
|
||||
endf
|
||||
|
||||
function! s:win_id2win(winnr)
|
||||
return a:winnr
|
||||
endf
|
||||
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" ConTeXt jobs {{{
|
||||
if has('job')
|
||||
|
||||
let g:context_jobs = []
|
||||
|
||||
" Print the status of ConTeXt jobs
|
||||
function! context#job_status()
|
||||
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||
let l:n = len(l:jobs)
|
||||
call s:context_echo(
|
||||
\ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n)
|
||||
\ .' job'.(l:n == 1 ? '' : 's').' running'
|
||||
\ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'),
|
||||
\ 'ModeMsg')
|
||||
endfunction
|
||||
|
||||
" Stop all ConTeXt jobs
|
||||
function! context#stop_jobs()
|
||||
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||
for job in l:jobs
|
||||
call job_stop(job)
|
||||
endfor
|
||||
sleep 1
|
||||
let l:tmp = []
|
||||
for job in l:jobs
|
||||
if job_status(job) == "run"
|
||||
call add(l:tmp, job)
|
||||
endif
|
||||
endfor
|
||||
let g:context_jobs = l:tmp
|
||||
if empty(g:context_jobs)
|
||||
call s:context_echo('Done. No jobs running.', 'ModeMsg')
|
||||
else
|
||||
call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! context#callback(path, job, status)
|
||||
if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case
|
||||
call remove(g:context_jobs, index(g:context_jobs, a:job))
|
||||
endif
|
||||
call s:callback(a:path, a:job, a:status)
|
||||
endfunction
|
||||
|
||||
function! context#close_cb(channel)
|
||||
call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback
|
||||
endfunction
|
||||
|
||||
function! s:typeset(path)
|
||||
call add(g:context_jobs,
|
||||
\ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), {
|
||||
\ 'close_cb' : 'context#close_cb',
|
||||
\ 'exit_cb' : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||
\ [a:path]),
|
||||
\ 'in_io' : 'null'
|
||||
\ }))
|
||||
endfunction
|
||||
|
||||
else " No jobs
|
||||
|
||||
function! context#job_status()
|
||||
call s:context_echo('Not implemented', 'WarningMsg')
|
||||
endfunction!
|
||||
|
||||
function! context#stop_jobs()
|
||||
call s:context_echo('Not implemented', 'WarningMsg')
|
||||
endfunction
|
||||
|
||||
function! context#callback(path, job, status)
|
||||
call s:callback(a:path, a:job, a:status)
|
||||
endfunction
|
||||
|
||||
function! s:typeset(path)
|
||||
execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))
|
||||
call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||
\ [a:path, 0, v:shell_error])
|
||||
endfunction
|
||||
|
||||
endif " has('job')
|
||||
|
||||
function! s:callback(path, job, status) abort
|
||||
if a:status < 0 " Assume the job was terminated
|
||||
return
|
||||
endif
|
||||
" Get info about the current window
|
||||
let l:winid = s:win_getid() " Save window id
|
||||
let l:efm = &l:errorformat " Save local errorformat
|
||||
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||
" Set errorformat to parse ConTeXt errors
|
||||
execute 'setl efm=' . escape(b:context_errorformat, ' ')
|
||||
try " Set cwd to expand error file correctly
|
||||
execute 'lcd' fnameescape(fnamemodify(a:path, ':h'))
|
||||
catch /.*/
|
||||
execute 'setl efm=' . escape(l:efm, ' ')
|
||||
throw v:exception
|
||||
endtry
|
||||
try
|
||||
execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log')
|
||||
botright cwindow
|
||||
finally " Restore cwd and errorformat
|
||||
execute s:win_id2win(l:winid) . 'wincmd w'
|
||||
execute 'lcd ' . fnameescape(l:cwd)
|
||||
execute 'setl efm=' . escape(l:efm, ' ')
|
||||
endtry
|
||||
if a:status == 0
|
||||
call s:context_echo('Success!', 'ModeMsg')
|
||||
else
|
||||
call s:context_echo('There are errors. ', 'ErrorMsg')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! context#command()
|
||||
return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||
\ . ' --script context --autogenerate --nonstopmode'
|
||||
\ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||
endfunction
|
||||
|
||||
" Accepts an optional path (useful for big projects, when the file you are
|
||||
" editing is not the project's root document). If no argument is given, uses
|
||||
" the path of the current buffer.
|
||||
function! context#typeset(...) abort
|
||||
let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p")
|
||||
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||
call s:context_echo('Typesetting...', 'ModeMsg')
|
||||
execute 'lcd' fnameescape(fnamemodify(l:path, ":h"))
|
||||
try
|
||||
call s:typeset(l:path)
|
||||
finally " Restore local working directory
|
||||
execute 'lcd ' . fnameescape(l:cwd)
|
||||
endtry
|
||||
endfunction!
|
||||
"}}}
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: sw=2 fdm=marker
|
||||
@@ -0,0 +1,25 @@
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Latest Revision: 2016 Oct 15
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Complete keywords in MetaPost blocks
|
||||
function! contextcomplete#Complete(findstart, base)
|
||||
if a:findstart == 1
|
||||
if len(synstack(line('.'), 1)) > 0 &&
|
||||
\ synIDattr(synstack(line('.'), 1)[0], "name") ==# 'contextMPGraphic'
|
||||
return syntaxcomplete#Complete(a:findstart, a:base)
|
||||
else
|
||||
return -3
|
||||
endif
|
||||
else
|
||||
return syntaxcomplete#Complete(a:findstart, a:base)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: sw=2 fdm=marker
|
||||
@@ -236,7 +236,7 @@ fun! getscript#GetLatestVimScripts()
|
||||
" call Decho("..depscript<".depscript.">")
|
||||
|
||||
" found a "GetLatestVimScripts: # #" line in the script;
|
||||
" check if its already in the datafile by searching backwards from llp1,
|
||||
" check if it's already in the datafile by searching backwards from llp1,
|
||||
" the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
|
||||
" for the script-id with no wrapping allowed.
|
||||
let curline = line(".")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for editing compressed files.
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Nov 05
|
||||
" Last Change: 2016 Sep 28
|
||||
|
||||
" These functions are used by the gzip plugin.
|
||||
|
||||
@@ -63,6 +63,9 @@ fun gzip#read(cmd)
|
||||
" set 'modifiable'
|
||||
let ma_save = &ma
|
||||
setlocal ma
|
||||
" set 'write'
|
||||
let write_save = &write
|
||||
set write
|
||||
" Reset 'foldenable', otherwise line numbers get adjusted.
|
||||
if has("folding")
|
||||
let fen_save = &fen
|
||||
@@ -127,6 +130,7 @@ fun gzip#read(cmd)
|
||||
let &pm = pm_save
|
||||
let &cpo = cpo_save
|
||||
let &l:ma = ma_save
|
||||
let &write = write_save
|
||||
if has("folding")
|
||||
let &l:fen = fen_save
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
|
||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" URL: https://github.com/shawncplus/phpcomplete.vim
|
||||
" Last Change: 2015 Jul 13
|
||||
" Last Change: 2016 Oct 10
|
||||
"
|
||||
" OPTIONS:
|
||||
"
|
||||
@@ -195,6 +195,8 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
|
||||
" }}}
|
||||
elseif context =~? 'implements'
|
||||
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
|
||||
elseif context =~? 'instanceof'
|
||||
return phpcomplete#CompleteClassName(a:base, ['c', 'n'], current_namespace, imports)
|
||||
elseif context =~? 'extends\s\+.\+$' && a:base == ''
|
||||
return ['implements']
|
||||
elseif context =~? 'extends'
|
||||
@@ -787,6 +789,8 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
|
||||
|
||||
if kinds == ['c', 'i']
|
||||
let filterstr = 'v:val =~? "\\(class\\|interface\\)\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||
elseif kinds == ['c', 'n']
|
||||
let filterstr = 'v:val =~? "\\(class\\|namespace\\)\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||
elseif kinds == ['c']
|
||||
let filterstr = 'v:val =~? "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||
elseif kinds == ['i']
|
||||
@@ -931,7 +935,7 @@ function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibite
|
||||
endfor
|
||||
|
||||
for modifier in a:modifiers
|
||||
" if the modifier is prohibited its a no match
|
||||
" if the modifier is prohibited it's a no match
|
||||
if index(a:prohibited_modifiers, modifier) != -1
|
||||
return 0
|
||||
endif
|
||||
@@ -996,7 +1000,7 @@ function! phpcomplete#CompleteUserClass(context, base, sccontent, visibility) "
|
||||
let required_modifiers += ['static']
|
||||
endif
|
||||
let all_variable = filter(deepcopy(a:sccontent),
|
||||
\ 'v:val =~ "^\\s*\\(var\\s\\+\\|public\\s\\+\\|protected\\s\\+\\|private\\s\\+\\|final\\s\\+\\|abstract\\s\\+\\|static\\s\\+\\)\\+\\$"')
|
||||
\ 'v:val =~ "\\(^\\s*\\(var\\s\\+\\|public\\s\\+\\|protected\\s\\+\\|private\\s\\+\\|final\\s\\+\\|abstract\\s\\+\\|static\\s\\+\\)\\+\\$\\|^\\s*\\(\\/\\|\\*\\)*\\s*@property\\s\\+\\S\\+\\s\\S\\{-}\\s*$\\)"')
|
||||
|
||||
let variables = []
|
||||
for i in all_variable
|
||||
@@ -1160,6 +1164,14 @@ function! phpcomplete#GetTaglist(pattern) " {{{
|
||||
endif
|
||||
|
||||
let tags = taglist(a:pattern)
|
||||
for tag in tags
|
||||
for prop in keys(tag)
|
||||
if prop == 'cmd' || prop == 'static' || prop == 'kind' || prop == 'builtin'
|
||||
continue
|
||||
endif
|
||||
let tag[prop] = substitute(tag[prop], '\\\\', '\\', 'g')
|
||||
endfor
|
||||
endfor
|
||||
let s:cache_tags[a:pattern] = tags
|
||||
let has_key = has_key(s:cache_tags, a:pattern)
|
||||
let s:cache_tags_checksum = cache_checksum
|
||||
@@ -1379,7 +1391,7 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
||||
" Get Structured information of all classes and subclasses including namespace and includes
|
||||
" try to find the method's return type in docblock comment
|
||||
for classstructure in classcontents
|
||||
let docblock_target_pattern = 'function\s\+&\?'.method.'\|\(public\|private\|protected\|var\).\+\$'.method
|
||||
let docblock_target_pattern = 'function\s\+&\?'.method.'\>\|\(public\|private\|protected\|var\).\+\$'.method.'\>\|@property.\+\$'.method.'\>'
|
||||
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
|
||||
if doc_str != ''
|
||||
break
|
||||
@@ -1387,8 +1399,17 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
||||
endfor
|
||||
if doc_str != ''
|
||||
let docblock = phpcomplete#ParseDocBlock(doc_str)
|
||||
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type')
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : docblock.var.type
|
||||
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
|
||||
|
||||
if type == ''
|
||||
for property in docblock.properties
|
||||
if property.description =~? method
|
||||
let type = property.type
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
" there's a namespace in the type, threat the type as FQCN
|
||||
if type =~ '\\'
|
||||
@@ -1554,6 +1575,9 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
elseif get(methodstack, 0) =~# function_invocation_pattern
|
||||
let function_name = matchstr(methodstack[0], '^\s*\zs'.function_name_pattern)
|
||||
let function_file = phpcomplete#GetFunctionLocation(function_name, a:current_namespace)
|
||||
if function_file == ''
|
||||
let function_file = phpcomplete#GetFunctionLocation(function_name, '\')
|
||||
endif
|
||||
|
||||
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
||||
" built in function, grab the return type from the info string
|
||||
@@ -1569,7 +1593,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||
" try to expand the classname of the returned type with the context got from the function's source file
|
||||
|
||||
let [classname_candidate, unused] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||
endif
|
||||
endif
|
||||
if classname_candidate != ''
|
||||
@@ -1650,9 +1674,10 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let sub_methodstack = phpcomplete#GetMethodStack(matchstr(line, '^\s*'.object.'\s*=&\?\s*\s\+\zs.*'))
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(
|
||||
\ classname,
|
||||
\ a:current_namespace,
|
||||
\ namespace_for_class,
|
||||
\ a:imports,
|
||||
\ sub_methodstack)
|
||||
|
||||
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
|
||||
endif
|
||||
endif
|
||||
@@ -1783,6 +1808,9 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let [function_name, function_namespace] = phpcomplete#ExpandClassName(function_name, a:current_namespace, a:imports)
|
||||
|
||||
let function_file = phpcomplete#GetFunctionLocation(function_name, function_namespace)
|
||||
if function_file == ''
|
||||
let function_file = phpcomplete#GetFunctionLocation(function_name, '\')
|
||||
endif
|
||||
|
||||
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
||||
" built in function, grab the return type from the info string
|
||||
@@ -1798,7 +1826,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let classname_candidate = docblock.return.type
|
||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||
" try to expand the classname of the returned type with the context got from the function's source file
|
||||
let [classname_candidate, unused] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||
break
|
||||
endif
|
||||
endif
|
||||
@@ -1861,6 +1889,8 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
for tag in tags
|
||||
if tag.kind ==? 'v' && tag.cmd =~? '=\s*new\s\+\zs'.class_name_pattern.'\ze'
|
||||
let classname = matchstr(tag.cmd, '=\s*new\s\+\zs'.class_name_pattern.'\ze')
|
||||
" unescape the classname, it would have "\" doubled since it is an ex command
|
||||
let classname = substitute(classname, '\\\(\_.\)', '\1', 'g')
|
||||
return classname
|
||||
endif
|
||||
endfor
|
||||
@@ -2077,6 +2107,19 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
||||
endif
|
||||
call searchpair('{', '', '}', 'W')
|
||||
let class_closing_bracket_line = line('.')
|
||||
|
||||
" Include class docblock
|
||||
let doc_line = cfline - 1
|
||||
if getline(doc_line) =~? '^\s*\*/'
|
||||
while doc_line != 0
|
||||
if getline(doc_line) =~? '^\s*/\*\*'
|
||||
let cfline = doc_line
|
||||
break
|
||||
endif
|
||||
let doc_line -= 1
|
||||
endwhile
|
||||
endif
|
||||
|
||||
let classcontent = join(getline(cfline, class_closing_bracket_line), "\n")
|
||||
|
||||
let used_traits = []
|
||||
@@ -2241,8 +2284,19 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
||||
let line = a:sccontent[i]
|
||||
" search for a function declaration
|
||||
if line =~? a:search
|
||||
let l = i - 1
|
||||
" start backward serch for the comment block
|
||||
if line =~? '@property'
|
||||
let doc_line = i
|
||||
while doc_line != sccontent_len - 1
|
||||
if a:sccontent[doc_line] =~? '^\s*\*/'
|
||||
let l = doc_line
|
||||
break
|
||||
endif
|
||||
let doc_line += 1
|
||||
endwhile
|
||||
else
|
||||
let l = i - 1
|
||||
endif
|
||||
" start backward search for the comment block
|
||||
while l != 0
|
||||
let line = a:sccontent[l]
|
||||
" if it's a one line docblock like comment and we can just return it right away
|
||||
@@ -2263,7 +2317,7 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
||||
return ''
|
||||
end
|
||||
|
||||
while l != 0
|
||||
while l >= 0
|
||||
let line = a:sccontent[l]
|
||||
if line =~? '^\s*/\*\*'
|
||||
let comment_start = l
|
||||
@@ -2297,9 +2351,10 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
|
||||
\ 'return': {},
|
||||
\ 'throws': [],
|
||||
\ 'var': {},
|
||||
\ 'properties': [],
|
||||
\ }
|
||||
|
||||
let res.description = substitute(matchstr(a:docblock, '\zs\_.\{-}\ze\(@var\|@param\|@return\|$\)'), '\(^\_s*\|\_s*$\)', '', 'g')
|
||||
let res.description = substitute(matchstr(a:docblock, '\zs\_.\{-}\ze\(@type\|@var\|@param\|@return\|$\)'), '\(^\_s*\|\_s*$\)', '', 'g')
|
||||
let docblock_lines = split(a:docblock, "\n")
|
||||
|
||||
let param_lines = filter(copy(docblock_lines), 'v:val =~? "^@param"')
|
||||
@@ -2334,15 +2389,26 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
|
||||
endif
|
||||
endfor
|
||||
|
||||
let var_line = filter(copy(docblock_lines), 'v:val =~? "^@var"')
|
||||
let var_line = filter(copy(docblock_lines), 'v:val =~? "^\\(@var\\|@type\\)"')
|
||||
if len(var_line) > 0
|
||||
let var_parts = matchlist(var_line[0], '@var\s\+\(\S\+\)\s*\(.*\)')
|
||||
let var_parts = matchlist(var_line[0], '\(@var\|@type\)\s\+\(\S\+\)\s*\(.*\)')
|
||||
let res['var'] = {
|
||||
\ 'line': var_parts[0],
|
||||
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(var_parts, 1, '')),
|
||||
\ 'description': get(var_parts, 2, '')}
|
||||
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(var_parts, 2, '')),
|
||||
\ 'description': get(var_parts, 3, '')}
|
||||
endif
|
||||
|
||||
let property_lines = filter(copy(docblock_lines), 'v:val =~? "^@property"')
|
||||
for property_line in property_lines
|
||||
let parts = matchlist(property_line, '\(@property\)\s\+\(\S\+\)\s*\(.*\)')
|
||||
if len(parts) > 0
|
||||
call add(res.properties, {
|
||||
\ 'line': parts[0],
|
||||
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(parts, 2, '')),
|
||||
\ 'description': get(parts, 3, '')})
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
" }}}
|
||||
@@ -2498,6 +2564,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let name = matchstr(name, '\\\zs[^\\]\+\ze$')
|
||||
endif
|
||||
endif
|
||||
|
||||
" leading slash is not required use imports are always absolute
|
||||
let imports[name] = {'name': object, 'kind': ''}
|
||||
endfor
|
||||
@@ -2533,6 +2600,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
elseif !exists('no_namespace_candidate')
|
||||
" save the first namespacless match to be used if no better
|
||||
" candidate found later on
|
||||
let tag.namespace = namespace_for_classes
|
||||
let no_namespace_candidate = tag
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -196,7 +196,7 @@ function! rubycomplete#Complete(findstart, base)
|
||||
if c =~ '\w'
|
||||
continue
|
||||
elseif ! c =~ '\.'
|
||||
idx = -1
|
||||
let idx = -1
|
||||
break
|
||||
else
|
||||
break
|
||||
|
||||
@@ -117,7 +117,7 @@ fun! tar#Browse(tarfile)
|
||||
if !filereadable(a:tarfile)
|
||||
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
|
||||
if a:tarfile !~# '^\a\+://'
|
||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
||||
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||
endif
|
||||
|
||||
@@ -347,7 +347,7 @@ fun! vimball#Vimball(really,...)
|
||||
" call Decho("exe tabn ".curtabnr)
|
||||
exe "tabn ".curtabnr
|
||||
|
||||
" set up help if its a doc/*.txt file
|
||||
" set up help if it's a doc/*.txt file
|
||||
" call Decho("didhelp<".didhelp."> fname<".fname.">")
|
||||
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
|
||||
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
|
||||
|
||||
+66
-10
@@ -1,7 +1,7 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jul 02, 2013
|
||||
" Version: 27
|
||||
" Date: Sep 13, 2016
|
||||
" Version: 28
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
||||
@@ -20,10 +20,10 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v27"
|
||||
let g:loaded_zip= "v28"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2"
|
||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
@@ -53,6 +53,9 @@ endif
|
||||
if !exists("g:zip_unzipcmd")
|
||||
let g:zip_unzipcmd= "unzip"
|
||||
endif
|
||||
if !exists("g:zip_extractcmd")
|
||||
let g:zip_extractcmd= g:zip_unzipcmd
|
||||
endif
|
||||
|
||||
" ----------------
|
||||
" Functions: {{{1
|
||||
@@ -62,14 +65,14 @@ endif
|
||||
" zip#Browse: {{{2
|
||||
fun! zip#Browse(zipfile)
|
||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||
" sanity check: insure that the zipfile has "PK" as its first two letters
|
||||
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
||||
" (zipped files have a leading PK as a "magic cookie")
|
||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||
exe "noautocmd e ".fnameescape(a:zipfile)
|
||||
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
||||
return
|
||||
" else " Decho
|
||||
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - its a zip file")
|
||||
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - it's a zip file")
|
||||
endif
|
||||
|
||||
let repkeep= &report
|
||||
@@ -92,7 +95,7 @@ fun! zip#Browse(zipfile)
|
||||
endif
|
||||
if !filereadable(a:zipfile)
|
||||
if a:zipfile !~# '^\a\+://'
|
||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
||||
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
@@ -136,8 +139,10 @@ fun! zip#Browse(zipfile)
|
||||
return
|
||||
endif
|
||||
|
||||
" Maps associated with zip plugin
|
||||
setlocal noma nomod ro
|
||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse")
|
||||
@@ -204,6 +209,15 @@ fun! zip#Read(fname,mode)
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
" sanity check
|
||||
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program" | echohl None
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endif
|
||||
|
||||
" the following code does much the same thing as
|
||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
@@ -236,9 +250,9 @@ fun! zip#Write(fname)
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable(g:zip_zipcmd)
|
||||
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','',''))
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program" | echohl None
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
@@ -344,6 +358,48 @@ fun! zip#Write(fname)
|
||||
" call Dret("zip#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" zip#Extract: extract a file from a zip archive {{{2
|
||||
fun! zip#Extract()
|
||||
" call Dfunc("zip#Extract()")
|
||||
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let fname= getline(".")
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
" sanity check
|
||||
if fname =~ '^"'
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Extract")
|
||||
return
|
||||
endif
|
||||
if fname =~ '/$'
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Extract) Please specify a file, not a directory" | echohl None
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Extract")
|
||||
return
|
||||
endif
|
||||
|
||||
" extract the file mentioned under the cursor
|
||||
" call Decho("system(".g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell).")")
|
||||
call system(g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell))
|
||||
" call Decho("zipfile<".b:zipfile.">")
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!" | echohl NONE
|
||||
elseif !filereadable(fname)
|
||||
echohl Error | echo "***error*** attempted to extract ".fname." but it doesn't appear to be present!"
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
" restore option
|
||||
let &report= repkeep
|
||||
|
||||
" call Dret("zip#Extract")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Escape: {{{2
|
||||
fun! s:Escape(fname,isfilt)
|
||||
|
||||
@@ -41,9 +41,16 @@ this autocmd might be useful:
|
||||
autocmd SourcePre */colors/blue_sky.vim set background=dark
|
||||
Replace "blue_sky" with the name of the colorscheme.
|
||||
|
||||
In case you want to tweak a colorscheme after it was loaded, check out that
|
||||
In case you want to tweak a colorscheme after it was loaded, check out the
|
||||
ColorScheme autocmd event.
|
||||
|
||||
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
|
||||
and use `:runtime` to load the original colorscheme:
|
||||
" load the "evening" colorscheme
|
||||
runtime colors/evening.vim
|
||||
" change the color of statements
|
||||
hi Statement ctermfg=Blue guifg=Blue
|
||||
|
||||
To see which highlight group is used where, find the help for
|
||||
"highlight-groups" and "group-name".
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim color file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2006 Apr 14
|
||||
" Last Change: 2016 Oct 10
|
||||
|
||||
" This color scheme uses a dark grey background.
|
||||
|
||||
@@ -46,8 +46,8 @@ hi CursorColumn term=reverse ctermbg=Black guibg=grey40
|
||||
hi CursorLine term=underline cterm=underline guibg=grey40
|
||||
|
||||
" Groups for syntax highlighting
|
||||
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0 guibg=grey5
|
||||
hi Special term=bold ctermfg=LightRed guifg=Orange guibg=grey5
|
||||
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
|
||||
hi Special term=bold ctermfg=LightRed guifg=Orange
|
||||
if &t_Co > 8
|
||||
hi Statement term=bold cterm=bold ctermfg=Yellow guifg=#ffff60 gui=bold
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" If makefile exists and we are not asked to ignore it, we use standard make
|
||||
" (do not redefine makeprg)
|
||||
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
|
||||
\ (!filereadable('Makefile') && !filereadable('makefile'))
|
||||
let current_compiler = 'context'
|
||||
" The following assumes that the current working directory is set to the
|
||||
" directory of the file to be typeset
|
||||
let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||
\ . ' --script context --autogenerate --nonstopmode --synctex='
|
||||
\ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||
\ . ' ' . shellescape(expand('%:p:t'))
|
||||
else
|
||||
let current_compiler = 'make'
|
||||
endif
|
||||
|
||||
let b:context_errorformat = ''
|
||||
\ . '%-Popen source%.%#> %f,'
|
||||
\ . '%-Qclose source%.%#> %f,'
|
||||
\ . "%-Popen source%.%#name '%f',"
|
||||
\ . "%-Qclose source%.%#name '%f',"
|
||||
\ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,'
|
||||
\ . 'tex %trror%.%#error on line %l in file %f: %m,'
|
||||
\ . '%Elua %trror%.%#error on line %l in file %f:,'
|
||||
\ . '%+Emetapost %#> error: %#,'
|
||||
\ . '! error: %#%m,'
|
||||
\ . '%-C %#,'
|
||||
\ . '%C! %m,'
|
||||
\ . '%Z[ctxlua]%m,'
|
||||
\ . '%+C<*> %.%#,'
|
||||
\ . '%-C%.%#,'
|
||||
\ . '%Z...%m,'
|
||||
\ . '%-Zno-error,'
|
||||
\ . '%-G%.%#' " Skip remaining lines
|
||||
|
||||
execute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ')
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: csslint for CSS
|
||||
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||
" Last Change: 2016 May 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "csslint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=csslint\ --format=compact
|
||||
CompilerSet errorformat=%-G,%-G%f:\ lint\ free!,%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m,%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m,%f:\ line\ %l\\,\ col\ %c\\,\ %m
|
||||
@@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Pylint for Python
|
||||
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||
" Last Change: 2016 May 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "pylint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=pylint\ --output-format=text\ --msg-template=\"{path}:{line}:{column}:{C}:\ [{symbol}]\ {msg}\"\ --reports=no
|
||||
CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
|
||||
+15
-6
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.0. Last change: 2016 Sep 03
|
||||
*autocmd.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||
|
||||
|
||||
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.
|
||||
|
||||
When your .vimrc file is sourced twice, the autocommands will appear twice.
|
||||
To avoid this, put this command in your .vimrc file, before defining
|
||||
autocommands: >
|
||||
`:autocmd` adds to the list of autocommands regardless of whether they are
|
||||
already present. When your .vimrc file is sourced twice, the 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
|
||||
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}
|
||||
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.
|
||||
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
|
||||
with ":augroup"); otherwise, Vim uses the group defined with [group].
|
||||
@@ -983,7 +992,7 @@ WinLeave Before leaving a window. If the window to be
|
||||
|
||||
*WinNew*
|
||||
WinNew When a new window was created. Not done for
|
||||
the fist window, when Vim has just started.
|
||||
the first window, when Vim has just started.
|
||||
Before a WinEnter event.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.0. Last change: 2016 Sep 11
|
||||
*change.txt* For Vim version 8.0. Last change: 2016 Oct 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -913,8 +913,7 @@ Exceptions:
|
||||
Substitute with an expression *sub-replace-expression*
|
||||
*sub-replace-\=* *s/\=*
|
||||
When the substitute string starts with "\=" the remainder is interpreted as an
|
||||
expression. This does not work recursively: a |substitute()| function inside
|
||||
the expression cannot use "\=" for the substitute string.
|
||||
expression.
|
||||
|
||||
The special meaning for characters as mentioned at |sub-replace-special| does
|
||||
not apply except for "<CR>". A <NL> character is used as a line break, you
|
||||
|
||||
+13
-7
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.0. Last change: 2016 Sep 11
|
||||
*channel.txt* For Vim version 8.0. Last change: 2016 Nov 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -33,7 +33,7 @@ The Netbeans interface also uses a channel. |netbeans|
|
||||
1. Overview *job-channel-overview*
|
||||
|
||||
There are four main types of jobs:
|
||||
1. A deamon, serving several Vim instances.
|
||||
1. A daemon, serving several Vim instances.
|
||||
Vim connects to it with a socket.
|
||||
2. One job working with one Vim instance, asynchronously.
|
||||
Uses a socket or pipes.
|
||||
@@ -369,7 +369,7 @@ Leave out the fourth argument if no response is to be sent:
|
||||
==============================================================================
|
||||
6. Using a RAW or NL channel *channel-raw*
|
||||
|
||||
If mode is RAW or NL then a message can be send like this: >
|
||||
If mode is RAW or NL then a message can be sent like this: >
|
||||
let response = ch_evalraw(channel, {string})
|
||||
|
||||
The {string} is sent as-is. The response will be what can be read from the
|
||||
@@ -465,6 +465,11 @@ it like this: >
|
||||
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|.
|
||||
|
||||
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
|
||||
handle that separately, add an "err_cb" handler: >
|
||||
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: >
|
||||
|
||||
func! CloseHandler(channel)
|
||||
while ch_status(a:channel) == 'buffered'
|
||||
while ch_status(a:channel, {'part': 'out'}) == 'buffered'
|
||||
echomsg ch_read(a:channel)
|
||||
endwhile
|
||||
endfunc
|
||||
@@ -593,9 +598,10 @@ See |job_setoptions()| and |ch_setoptions()|.
|
||||
*job-exit_cb*
|
||||
"exit_cb": handler Callback for when the job ends. The arguments are the
|
||||
job and the exit status.
|
||||
Vim checks about every 10 seconds for jobs that ended.
|
||||
The check also be triggered by calling |job_status()|,
|
||||
which may then invoke the exit_cb handler.
|
||||
Vim checks up to 10 times per second for jobs that
|
||||
ended. The check can also be triggered by calling
|
||||
|job_status()|, which may then invoke the exit_cb
|
||||
handler.
|
||||
Note that data can be buffered, callbacks may still be
|
||||
called after the process ends.
|
||||
*job-timeout*
|
||||
|
||||
@@ -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
|
||||
@@ -229,9 +229,10 @@ CTRL-Y When there is a modeless selection, copy the selection into
|
||||
the clipboard. |modeless-selection|
|
||||
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
|
||||
*c_<Esc>* *c_Esc*
|
||||
|
||||
CTRL-[ *c_CTRL-[* *c_<Esc>* *c_Esc*
|
||||
<Esc> When typed and 'x' not present in 'cpoptions', quit
|
||||
Command-line mode without executing. In macros or when 'x'
|
||||
present in 'cpoptions', start entered command.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 8.0. Last change: 2014 Jun 19
|
||||
*digraph.txt* For Vim version 8.0. Last change: 2016 Nov 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -147,7 +147,7 @@ a standard meaning:
|
||||
Two 2 Hook
|
||||
Nine 9 Horn
|
||||
|
||||
Equals = Cyrillic (= used as second char)
|
||||
Equals = Cyrillic (= used as second char)
|
||||
Asterisk * Greek
|
||||
Percent sign % Greek/Cyrillic special
|
||||
Plus + smalls: Arabic, capitals: Hebrew
|
||||
@@ -926,6 +926,7 @@ char digraph hex dec official name ~
|
||||
† /- 2020 8224 DAGGER
|
||||
‡ /= 2021 8225 DOUBLE DAGGER
|
||||
‥ .. 2025 8229 TWO DOT LEADER
|
||||
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
||||
‰ %0 2030 8240 PER MILLE SIGN
|
||||
′ 1' 2032 8242 PRIME
|
||||
″ 2' 2033 8243 DOUBLE PRIME
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
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
|
||||
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
|
||||
'autowriteall' option. 'autowrite' is the associated Vi-compatible option
|
||||
|
||||
+51
-27
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.0. Last change: 2016 Sep 07
|
||||
*eval.txt* For Vim version 8.0. Last change: 2016 Nov 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -125,7 +125,8 @@ cleared. A List, Dictionary or Float is not a Number or String, thus
|
||||
evaluates to FALSE.
|
||||
|
||||
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
|
||||
List, Dictionary, Funcref and Job types are not automatically converted.
|
||||
List, Dictionary, Funcref, Job and Channel types are not automatically
|
||||
converted.
|
||||
|
||||
*E805* *E806* *E808*
|
||||
When mixing Number and Float the Number is converted to Float. Otherwise
|
||||
@@ -643,7 +644,7 @@ It's possible to form a variable name with curly braces, see
|
||||
|
||||
Expression syntax summary, from least to most significant:
|
||||
|
||||
|expr1| expr2
|
||||
|expr1| expr2
|
||||
expr2 ? expr1 : expr1 if-then-else
|
||||
|
||||
|expr2| expr3
|
||||
@@ -691,7 +692,7 @@ Expression syntax summary, from least to most significant:
|
||||
expr8.name entry in a |Dictionary|
|
||||
expr8(expr1, ...) function call with |Funcref| variable
|
||||
|
||||
|expr9| number number constant
|
||||
|expr9| number number constant
|
||||
"string" string constant, backslash is special
|
||||
'string' string constant, ' is doubled
|
||||
[expr1, ...] |List|
|
||||
@@ -957,7 +958,7 @@ expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
|
||||
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
||||
an alternative, or use `split()` to turn the string into a list of characters.
|
||||
|
||||
Index zero gives the first byte. This is like it works in C. Careful:
|
||||
@@ -1244,7 +1245,7 @@ The arguments are optional. Example: >
|
||||
< error function
|
||||
*closure*
|
||||
Lambda expressions can access outer scope variables and arguments. This is
|
||||
often called a closure. Example where "i" a and "a:arg" are used in a lambda
|
||||
often called a closure. Example where "i" and "a:arg" are used in a lambda
|
||||
while they exist in the function scope. They remain valid even after the
|
||||
function returns: >
|
||||
:function Foo(arg)
|
||||
@@ -2030,7 +2031,8 @@ ch_sendraw({handle}, {string} [, {options}])
|
||||
any send {string} over raw {handle}
|
||||
ch_setoptions({handle}, {options})
|
||||
none set options for {handle}
|
||||
ch_status({handle}) String status of channel {handle}
|
||||
ch_status({handle} [, {options}])
|
||||
String status of channel {handle}
|
||||
changenr() Number current change number
|
||||
char2nr({expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||
cindent({lnum}) Number C indent for line {lnum}
|
||||
@@ -2072,8 +2074,8 @@ expand({expr} [, {nosuf} [, {list}]])
|
||||
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
|
||||
filereadable({file}) Number |TRUE| if {file} is a readable file
|
||||
filewritable({file}) Number |TRUE| if {file} is a writable file
|
||||
filter({expr}, {string}) List/Dict remove items from {expr} where
|
||||
{string} is 0
|
||||
filter({expr1}, {expr2}) List/Dict remove items from {expr1} where
|
||||
{expr2} is 0
|
||||
finddir({name}[, {path}[, {count}]])
|
||||
String find directory {name} in {path}
|
||||
findfile({name}[, {path}[, {count}]])
|
||||
@@ -2097,7 +2099,7 @@ garbagecollect([{atexit}]) none free memory, breaking cyclic references
|
||||
get({list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get({dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
get({func}, {what}) any get property of funcref/partial {func}
|
||||
getbufinfo([{expr}]) List information about buffers
|
||||
getbufinfo([{expr}]) List information about buffers
|
||||
getbufline({expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
getbufvar({expr}, {varname} [, {def}])
|
||||
@@ -2128,12 +2130,12 @@ getqflist([{what}]) List list of quickfix items
|
||||
getreg([{regname} [, 1 [, {list}]]])
|
||||
String or List contents of register
|
||||
getregtype([{regname}]) String type of register
|
||||
gettabinfo([{expr}]) List list of tab pages
|
||||
gettabinfo([{expr}]) List list of tab pages
|
||||
gettabvar({nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwininfo([{winid}]) List list of windows
|
||||
getwininfo([{winid}]) List list of windows
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar({nr}, {varname} [, {def}])
|
||||
@@ -2197,7 +2199,7 @@ localtime() Number current time
|
||||
log({expr}) Float natural logarithm (base e) of {expr}
|
||||
log10({expr}) Float logarithm of Float {expr} to base 10
|
||||
luaeval({expr}[, {expr}]) any evaluate |Lua| expression
|
||||
map({expr}, {string}) List/Dict change each item in {expr} to {expr}
|
||||
map({expr1}, {expr2}) List/Dict change each item in {expr1} to {expr}
|
||||
maparg({name}[, {mode} [, {abbr} [, {dict}]]])
|
||||
String or Dict
|
||||
rhs of mapping {name} in mode {mode}
|
||||
@@ -2521,7 +2523,7 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
assert_fails({cmd} [, {error}]) *assert_fails()*
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error.
|
||||
When {error} is given it must match |v:errmsg|.
|
||||
When {error} is given it must match in |v:errmsg|.
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
@@ -3041,7 +3043,8 @@ ch_info({handle}) *ch_info()*
|
||||
Returns a Dictionary with information about {handle}. The
|
||||
items are:
|
||||
"id" number of the channel
|
||||
"status" "open" (any part is open) or "closed"
|
||||
"status" "open", "buffered" or "closed", like
|
||||
ch_status()
|
||||
When opened with ch_open():
|
||||
"hostname" the hostname of the address
|
||||
"port" the port of the address
|
||||
@@ -3050,11 +3053,11 @@ ch_info({handle}) *ch_info()*
|
||||
"sock_io" "socket"
|
||||
"sock_timeout" timeout in msec
|
||||
When opened with job_start():
|
||||
"out_status" "open" or "closed"
|
||||
"out_status" "open", "buffered" or "closed"
|
||||
"out_mode" "NL", "RAW", "JSON" or "JS"
|
||||
"out_io" "null", "pipe", "file" or "buffer"
|
||||
"out_timeout" timeout in msec
|
||||
"err_status" "open" or "closed"
|
||||
"err_status" "open", "buffered" or "closed"
|
||||
"err_mode" "NL", "RAW", "JSON" or "JS"
|
||||
"err_io" "out", "null", "pipe", "file" or "buffer"
|
||||
"err_timeout" timeout in msec
|
||||
@@ -3069,7 +3072,7 @@ ch_log({msg} [, {handle}]) *ch_log()*
|
||||
When {handle} is passed the channel number is used for the
|
||||
message.
|
||||
{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()*
|
||||
Start logging channel activity to {fname}.
|
||||
@@ -3139,7 +3142,7 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
|
||||
These options cannot be changed:
|
||||
"waittime" only applies to |ch_open()|
|
||||
|
||||
ch_status({handle}) *ch_status()*
|
||||
ch_status({handle} [, {options}]) *ch_status()*
|
||||
Return the status of {handle}:
|
||||
"fail" failed to open the channel
|
||||
"open" channel can be used
|
||||
@@ -3149,6 +3152,11 @@ ch_status({handle}) *ch_status()*
|
||||
"buffered" is used when the channel was closed but there is
|
||||
still data that can be obtained with |ch_read()|.
|
||||
|
||||
If {options} is given it can contain a "part" entry to specify
|
||||
the part of the channel to return the status for: "out" or
|
||||
"err". For example, to get the error status: >
|
||||
ch_status(job, {"part": "err"})
|
||||
<
|
||||
*copy()*
|
||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
@@ -3701,9 +3709,10 @@ filter({expr1}, {expr2}) *filter()*
|
||||
is zero remove the item from the |List| or |Dictionary|.
|
||||
{expr2} must be a |string| or |Funcref|.
|
||||
|
||||
if {expr2} is a |string|, inside {expr2} |v:val| has the value
|
||||
If {expr2} is a |string|, inside {expr2} |v:val| has the value
|
||||
of the current item. For a |Dictionary| |v:key| has the key
|
||||
of the current item.
|
||||
of the current item and for a |List| |v:key| has the index of
|
||||
the current item.
|
||||
Examples: >
|
||||
call filter(mylist, 'v:val !~ "OLD"')
|
||||
< Removes the items where "OLD" appears. >
|
||||
@@ -3725,6 +3734,10 @@ filter({expr1}, {expr2}) *filter()*
|
||||
return a:idx % 2 == 1
|
||||
endfunc
|
||||
call filter(mylist, function('Odd'))
|
||||
< It is shorter when using a |lambda|: >
|
||||
call filter(myList, {idx, val -> idx * val <= 42})
|
||||
< If you do not use "val" you can leave it out: >
|
||||
call filter(myList, {idx -> idx % 2 == 1})
|
||||
<
|
||||
The operation is done in-place. If you want a |List| or
|
||||
|Dictionary| to remain unmodified make a copy first: >
|
||||
@@ -4274,7 +4287,9 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
||||
locale locale names (as output of locale -a)
|
||||
mapping mapping name
|
||||
menu menus
|
||||
messages |:messages| suboptions
|
||||
option options
|
||||
packadd optional package |pack-add| names
|
||||
shellcmd Shell command
|
||||
sign |:sign| suboptions
|
||||
syntax syntax file names |'syntax'|
|
||||
@@ -4356,7 +4371,7 @@ getfperm({fname}) *getfperm()*
|
||||
< This will hopefully (from a security point of view) display
|
||||
the string "rw-r--r--" or even "rw-------".
|
||||
|
||||
For setting permissins use |setfperm()|.
|
||||
For setting permissions use |setfperm()|.
|
||||
|
||||
getftime({fname}) *getftime()*
|
||||
The result is a Number, which is the last modification time of
|
||||
@@ -4503,7 +4518,8 @@ getqflist([{what}]) *getqflist()*
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
returns only the items listed in {what} as a dictionary. The
|
||||
following string items are supported in {what}:
|
||||
nr get information for this quickfix list
|
||||
nr get information for this quickfix list; zero
|
||||
means the current quickfix list
|
||||
title get the list title
|
||||
winid get the |window-ID| (if opened)
|
||||
all all of the above quickfix properties
|
||||
@@ -4782,6 +4798,7 @@ histadd({history}, {item}) *histadd()*
|
||||
"expr" or "=" typed expression history
|
||||
"input" or "@" input line history
|
||||
"debug" or ">" debug command history
|
||||
empty the current or last used history
|
||||
The {history} string does not need to be the whole name, one
|
||||
character is sufficient.
|
||||
If {item} does already exist in the history, it will be
|
||||
@@ -5439,6 +5456,10 @@ map({expr1}, {expr2}) *map()*
|
||||
return a:key . '-' . a:val
|
||||
endfunc
|
||||
call map(myDict, function('KeyValue'))
|
||||
< It is shorter when using a |lambda|: >
|
||||
call map(myDict, {key, val -> key . '-' . val})
|
||||
< If you do not use "val" you can leave it out: >
|
||||
call map(myDict, {key -> 'item: ' . key})
|
||||
<
|
||||
The operation is done in-place. If you want a |List| or
|
||||
|Dictionary| to remain unmodified make a copy first: >
|
||||
@@ -6149,9 +6170,9 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
||||
*readfile()*
|
||||
readfile({fname} [, {binary} [, {max}]])
|
||||
Read file {fname} and return a |List|, each line of the file
|
||||
as an item. Lines broken at NL characters. Macintosh files
|
||||
separated with CR will result in a single long line (unless a
|
||||
NL appears somewhere).
|
||||
as an item. Lines are broken at NL characters. Macintosh
|
||||
files separated with CR will result in a single long line
|
||||
(unless a NL appears somewhere).
|
||||
All NUL characters are replaced with a NL character.
|
||||
When {binary} contains "b" binary mode is used:
|
||||
- When the last line ends in a NL an extra empty list item is
|
||||
@@ -7371,6 +7392,9 @@ submatch({nr}[, {list}]) *submatch()* *E935*
|
||||
|substitute()| this list will always contain one or zero
|
||||
items, since there are no real line breaks.
|
||||
|
||||
When substitute() is used recursively only the submatches in
|
||||
the current (deepest) call can be obtained.
|
||||
|
||||
Example: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
< This finds the first number in the line and adds one to it.
|
||||
@@ -8190,7 +8214,7 @@ writefile({list}, {fname} [, {flags}])
|
||||
end does cause the last line in the file to end in a NL.
|
||||
|
||||
When {flags} contains "a" then append mode is used, lines are
|
||||
append to the file: >
|
||||
appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_mac.txt* For Vim version 7.4. Last change: 2012 Jan 13
|
||||
*gui_mac.txt* For Vim version 8.0. Last change: 2012 Jan 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bjorn Winckler
|
||||
|
||||
+7
-28
@@ -49,10 +49,6 @@ If you want Vim to start with a maximized window, add this command to your
|
||||
vimrc or gvimrc file: >
|
||||
au GUIEnter * simalt ~x
|
||||
<
|
||||
*gui-w32s*
|
||||
There is a specific version of gvim.exe that runs under the Win32s subsystem
|
||||
of Windows 3.1 or 3.11. See |win32s|.
|
||||
|
||||
|
||||
Using Vim as a plugin *gui-w32-windowid*
|
||||
|
||||
@@ -100,9 +96,10 @@ when you have got a new version):
|
||||
You can also install Vim in the "Send To" menu:
|
||||
1. Start a Windows Explorer
|
||||
2. Navigate to your sendto directory:
|
||||
Windows 95: %windir%\sendto (e.g. "c:\windows\sendto")
|
||||
Windows NT: %windir%\profiles\%user%\sendto (e.g.
|
||||
"c:\winnt\profiles\mattha\sendto").
|
||||
"c:\winnt\profiles\mattha\sendto")
|
||||
Windows XP: C:\Documents and Settings\%user%\SendTo
|
||||
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
3. Right-click in the file pane and select New->Shortcut
|
||||
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
||||
|
||||
@@ -274,35 +271,17 @@ WARNING: If you close this window with the "X" button, and confirm the
|
||||
question if you really want to kill the application, Vim may be killed too!
|
||||
(This does not apply to commands run asynchronously with ":!start".)
|
||||
|
||||
In Windows 95, the window in which the commands are executed is always 25x80
|
||||
characters, to be as DOS compatible as possible (this matters!). The default
|
||||
system font is used. On NT, the window will be the default you have set up for
|
||||
"Console" in Control Panel. On Win32s, the properties of the DOS box are
|
||||
determined by _default.pif in the windows directory.
|
||||
|
||||
*msdos-mode*
|
||||
If you get a dialog that says "This program is set to run in MS-DOS mode..."
|
||||
when you run an external program, you can solve this by changing the
|
||||
properties of the associated shortcut:
|
||||
- Use a Windows Explorer to find the command.com that is used. It can be
|
||||
c:\command.com, c:\dos\command.com, c:\windows\command.com, etc.
|
||||
- With the right mouse button, select properties of this command.com.
|
||||
- In the Program tab select "Advanced".
|
||||
- Unselect "MS-DOS mode".
|
||||
- Click "OK" twice.
|
||||
The window in which the commands are executed will be the default you have set
|
||||
up for "Console" in Control Panel.
|
||||
|
||||
*win32-!start*
|
||||
Normally, Vim waits for a command to complete before continuing (this makes
|
||||
sense for most shell commands which produce output for Vim to use). If you
|
||||
want Vim to start a program and return immediately, you can use the following
|
||||
syntax on W95 & NT: >
|
||||
syntax: >
|
||||
:!start [/min] {command}
|
||||
The optional "/min" causes the window to be minimized.
|
||||
|
||||
On Win32s, you will have to go to another window instead. Don't forget that
|
||||
you must tell Windows 3.1x to keep executing a DOS command in the background
|
||||
while you switch back to Vim.
|
||||
|
||||
==============================================================================
|
||||
5. Special colors *win32-colors*
|
||||
|
||||
@@ -311,7 +290,7 @@ On Win32, the normal DOS colors can be used. See |dos-colors|.
|
||||
Additionally the system configured colors can also be used. These are known
|
||||
by the names Sys_XXX, where XXX is the appropriate system color name, from the
|
||||
following list (see the Win32 documentation for full descriptions). Case is
|
||||
ignored. Note: On Win32s not all of these colors are supported.
|
||||
ignored.
|
||||
|
||||
Sys_3DDKShadow Sys_3DFace Sys_BTNFace
|
||||
Sys_3DHilight Sys_3DHighlight Sys_BTNHilight
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Aug 21
|
||||
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -484,7 +484,7 @@ your system has a working pkg-config together with the .pc file of the
|
||||
required GTK+. For that, say, run the following on the command line to see if
|
||||
your pkg-config works with your GTK+ 2: >
|
||||
|
||||
$ pkgconfig --modversion gtk+-2.0
|
||||
$ pkg-config --modversion gtk+-2.0
|
||||
|
||||
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
|
||||
number of your GTK+, you can proceed; if not, you probably need to do some
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.0. Last change: 2016 Mar 31
|
||||
*help.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -135,6 +135,7 @@ Advanced editing ~
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|filetype.txt| settings done specifically for a type of file
|
||||
|eval.txt| expression evaluation, conditional commands
|
||||
|channel.txt| Jobs, Channels, inter-process communication
|
||||
|fold.txt| hide (fold) ranges of lines
|
||||
|
||||
Special issues ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2016 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -748,11 +748,11 @@ match the Python 2.x or Python 3 version Vim was compiled with.
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
|
||||
To see what version of Python you have: >
|
||||
:py3 import sys
|
||||
:py3 print(sys.version)
|
||||
|
||||
< *:py3file*
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
@@ -207,21 +207,19 @@ MS-Windows ~
|
||||
|
||||
You need to install the right version of Ruby for this to work. You can find
|
||||
the package to download from:
|
||||
http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
|
||||
Currently that is ruby-1.9.2-p136-i386-mswin32.zip
|
||||
http://rubyinstaller.org/downloads/
|
||||
Currently that is rubyinstaller-2.2.5.exe
|
||||
|
||||
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'
|
||||
option can be also used to specify the Ruby DLL.
|
||||
|
||||
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".
|
||||
|
||||
If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
|
||||
and comment-out the check for _MSC_VER.
|
||||
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.
|
||||
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
||||
some tricks. See the src/INSTALLpc.txt for detail.
|
||||
|
||||
|
||||
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
|
||||
@@ -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
|
||||
cursor and insert the longest common part
|
||||
|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:
|
||||
go to next match, otherwise: same as <Down>
|
||||
CTRL-O not used
|
||||
@@ -1026,7 +1026,7 @@ tag command action in Command-line editing mode ~
|
||||
CTRL-Y copy (yank) modeless selection
|
||||
CTRL-Z not used (reserved for suspend)
|
||||
|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-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||
abandon command-line
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.0. Last change: 2015 Jan 20
|
||||
*intro.txt* For Vim version 8.0. Last change: 2016 Sep 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -135,10 +135,14 @@ http://www.vim.org/maillist.php
|
||||
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
Send bug reports to: Vim Developers <vim-dev@vim.org>
|
||||
This is a maillist, you need to become a member first and many people will see
|
||||
the message. If you don't want that, e.g. because it is a security issue,
|
||||
send it to <bugs@vim.org>, this only goes to the Vim maintainer (that's Bram).
|
||||
There are two ways to report bugs, both work:
|
||||
1. Send bug reports to: Vim Developers <vim-dev@vim.org>
|
||||
This is a maillist, you need to become a member first and many people will
|
||||
see the message. If you don't want that, e.g. because it is a security
|
||||
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||
(that's Bram).
|
||||
2. Open issue on GitHub: https://github.com/vim/vim/issues
|
||||
The text will be forwarded to the vim-dev maillist.
|
||||
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
from the time that is spent on improving Vim! Always give a reproducible
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.0. Last change: 2016 Aug 26
|
||||
*map.txt* For Vim version 8.0. Last change: 2016 Oct 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1280,6 +1280,7 @@ completion can be enabled:
|
||||
-complete=locale locale names (as output of locale -a)
|
||||
-complete=mapping mapping name
|
||||
-complete=menu menus
|
||||
-complete=messages |:messages| suboptions
|
||||
-complete=option options
|
||||
-complete=packadd optional package |pack-add| names
|
||||
-complete=shellcmd Shell command
|
||||
|
||||
+18
-14
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.0. Last change: 2016 Sep 02
|
||||
*options.txt* For Vim version 8.0. Last change: 2016 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -10,7 +10,7 @@ Options *options*
|
||||
2. Automatically setting options |auto-setting|
|
||||
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
|
||||
achieve special effects. These options come in three forms:
|
||||
@@ -1747,12 +1747,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
option + set value effect ~
|
||||
|
||||
'allowrevins' off no CTRL-_ command
|
||||
'backupcopy' Unix: "yes" backup file is a copy
|
||||
others: "auto" copy or rename backup file
|
||||
'backspace' "" normal backspace
|
||||
'backupcopy' Unix: "yes" backup file is a copy
|
||||
else: "auto" copy or rename backup file
|
||||
'backup' off no backup file
|
||||
'cindent' off no C code indentation
|
||||
'cedit' + "" no key to open the |cmdwin|
|
||||
'cindent' off no C code indentation
|
||||
'cpoptions' + (all flags) Vi-compatible flags
|
||||
'cscopetag' off don't use cscope for ":tag"
|
||||
'cscopetagorder' 0 see |cscopetagorder|
|
||||
@@ -1794,6 +1794,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'textwidth' 0 no automatic line wrap
|
||||
'tildeop' off tilde is not an operator
|
||||
'ttimeout' off no terminal timeout
|
||||
'viminfo' + {unchanged} no viminfo file
|
||||
'whichwrap' + "" left-right movements don't wrap
|
||||
'wildchar' + CTRL-E only when the current value is <Tab>
|
||||
use CTRL-E for cmdline completion
|
||||
@@ -2646,7 +2647,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
uhex Show unprintable characters hexadecimal as <xx>
|
||||
instead of using ^C and ~C.
|
||||
|
||||
When neither "lastline" or "truncate" is included, a last line that
|
||||
When neither "lastline" nor "truncate" is included, a last line that
|
||||
doesn't fit is replaced with "@" lines.
|
||||
|
||||
*'eadirection'* *'ead'*
|
||||
@@ -4440,8 +4441,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
original position when no match is found and when pressing <Esc>. You
|
||||
still need to finish the search command with <Enter> to move the
|
||||
cursor to the match.
|
||||
You can use the CTRL-N and CTRL-P keys to move to the next and
|
||||
previous match. |c_CTRL-N| |c_CTRL-P|
|
||||
You can use the CTRL-G and CTRL-T keys to move to the next and
|
||||
previous match. |c_CTRL-G| |c_CTRL-T|
|
||||
When compiled with the |+reltime| feature Vim only searches for about
|
||||
half a second. With a complicated pattern and/or a lot of text the
|
||||
match may not be found. This is to avoid that Vim hangs while you
|
||||
@@ -6274,7 +6275,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
personal preferences to overrule or add to the distributed defaults
|
||||
or system-wide settings (rarely needed).
|
||||
|
||||
More entries are added when using |packages|.
|
||||
More entries are added when using |packages|. If it gets very long
|
||||
then `:set rtp` will be truncated, use `:echo &rtp` to see the full
|
||||
string.
|
||||
|
||||
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
|
||||
wildcards are allowed, but can significantly slow down searching for
|
||||
@@ -6335,7 +6338,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is set to 1 when 'compatible' is set.
|
||||
|
||||
*'scrolloff'* *'so'*
|
||||
'scrolloff' 'so' number (default 0)
|
||||
'scrolloff' 'so' number (default 0, set to 5 in |defaults.vim|)
|
||||
global
|
||||
{not in Vi}
|
||||
Minimal number of screen lines to keep above and below the cursor.
|
||||
@@ -7840,7 +7843,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'timeout' 'to' boolean (default on)
|
||||
global
|
||||
*'ttimeout'* *'nottimeout'*
|
||||
'ttimeout' boolean (default off)
|
||||
'ttimeout' boolean (default off, set in |defaults.vim|))
|
||||
global
|
||||
{not in Vi}
|
||||
These two options together determine the behavior when part of a
|
||||
@@ -7875,7 +7878,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in all versions of Vi}
|
||||
*'ttimeoutlen'* *'ttm'*
|
||||
'ttimeoutlen' 'ttm' number (default -1)
|
||||
'ttimeoutlen' 'ttm' number (default -1, set to 100 in |defaults.vim|))
|
||||
global
|
||||
{not in Vi}
|
||||
The time in milliseconds that is waited for a key code or mapped key
|
||||
@@ -8129,8 +8132,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
||||
with them).
|
||||
This option is automatically set to "xterm", when the 'term' option is
|
||||
set to a name that starts with "xterm", "mlterm", "screen", "st" (full
|
||||
match only), "st-" or "stterm", and 'ttymouse' is not set already.
|
||||
set to a name that starts with "xterm", "mlterm", "screen", "tmux",
|
||||
"st" (full match only), "st-" or "stterm", and 'ttymouse' is not set
|
||||
already.
|
||||
Additionally, if vim is compiled with the |+termresponse| feature and
|
||||
|t_RV| is set to the escape sequence to request the xterm version
|
||||
number, more intelligent detection process runs.
|
||||
|
||||
+16
-134
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 8.0. Last change: 2016 Aug 28
|
||||
*os_win32.txt* For Vim version 8.0. Last change: 2016 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -7,20 +7,18 @@
|
||||
*win32* *Win32* *MS-Windows*
|
||||
This file documents the idiosyncrasies of the Win32 version of Vim.
|
||||
|
||||
The Win32 version of Vim works on Windows NT, 95, 98, ME, XP, Vista and
|
||||
Windows 7. There are both console and GUI versions.
|
||||
The Win32 version of Vim works on Windows XP, Vista, 7, 8 and 10. There are
|
||||
both console and GUI versions.
|
||||
|
||||
The 32 bit version also runs on 64 bit MS-Windows systems.
|
||||
|
||||
There is GUI version for use in the Win32s subsystem in Windows 3.1[1]. You
|
||||
can also use the 32-bit DOS version of Vim instead. See |os_msdos.txt|.
|
||||
|
||||
1. Known problems |win32-problems|
|
||||
2. Startup |win32-startup|
|
||||
3. Restore screen contents |win32-restore|
|
||||
4. Using the mouse |win32-mouse|
|
||||
5. Running under Windows 3.1 |win32-win3.1|
|
||||
6. Win32 mini FAQ |win32-faq|
|
||||
5. Running under Windows 95 |win32-win95|
|
||||
6. Running under Windows 3.1 |win32-win3.1|
|
||||
7. Win32 mini FAQ |win32-faq|
|
||||
|
||||
Additionally, there are a number of common Win32 and DOS items:
|
||||
File locations |dos-locations|
|
||||
@@ -43,20 +41,7 @@ The GUI version was made by George V. Reilly and Robert Webb.
|
||||
For compiling see "src/INSTALLpc.txt". *win32-compiling*
|
||||
|
||||
==============================================================================
|
||||
1. Known problems *windows95* *win32-problems*
|
||||
|
||||
There are a few known problems with running in a console on Windows 95. As
|
||||
far as we know, this is the same in Windows 98 and Windows ME.
|
||||
|
||||
Comments from somebody working at Microsoft: "Win95 console support has always
|
||||
been and will always be flaky".
|
||||
1. Dead key support doesn't work.
|
||||
2. Resizing the window with ":set columns=nn lines=nn" works, but executing
|
||||
external commands MAY CAUSE THE SYSTEM TO HANG OR CRASH.
|
||||
3. Screen updating is slow, unless you change 'columns' or 'lines' to a
|
||||
non-DOS value. But then the second problem applies!
|
||||
|
||||
If this bothers you, use the 32 bit MS-DOS version or the Win32 GUI version.
|
||||
1. Known problems *win32-problems*
|
||||
|
||||
When doing file name completion, Vim also finds matches for the short file
|
||||
name. But Vim will still find and use the corresponding long file name. For
|
||||
@@ -141,60 +126,20 @@ When the mouse doesn't work, try disabling the "Quick Edit Mode" feature of
|
||||
the console.
|
||||
|
||||
==============================================================================
|
||||
5. Running under Windows 3.1 *win32-win3.1*
|
||||
5. Running under Windows 95 *win32-win95*
|
||||
*windows95* *windows98* *windowsme*
|
||||
Windows 95/98/ME support was removed in patch 8.0.0029 If you want to use it
|
||||
you will need to get a version older than that.
|
||||
|
||||
*win32s* *windows-3.1*
|
||||
==============================================================================
|
||||
6. Running under Windows 3.1 *win32-win3.1*
|
||||
|
||||
*win32s* *windows-3.1* *gui-w32s*
|
||||
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
|
||||
Support was removed in patch 7.4.1363.
|
||||
|
||||
==============================================================================
|
||||
6. Win32 mini FAQ *win32-faq*
|
||||
|
||||
Q. Why does the Win32 version of Vim update the screen so slowly on Windows 95?
|
||||
A. The support for Win32 console mode applications is very buggy in Win95.
|
||||
For some unknown reason, the screen updates very slowly when Vim is run at
|
||||
one of the standard resolutions (80x25, 80x43, or 80x50) and the 16-bit DOS
|
||||
version updates the screen much more quickly than the Win32 version.
|
||||
However, if the screen is set to some other resolution, such as by ":set
|
||||
columns=100" or ":set lines=40", screen updating becomes about as fast as
|
||||
it is with the 16-bit version.
|
||||
|
||||
WARNING: Changing 'columns' may make Windows 95 crash while updating the
|
||||
window (complaints --> Microsoft). Since this mostly works, this has not
|
||||
been disabled, but be careful with changing 'columns'.
|
||||
|
||||
Changing the screen resolution makes updates faster, but it brings
|
||||
additional problems. External commands (e.g., ":!dir") can cause Vim to
|
||||
freeze when the screen is set to a non-standard resolution, particularly
|
||||
when 'columns' is not equal to 80. It is not possible for Vim to reliably
|
||||
set the screen resolution back to the value it had upon startup before
|
||||
running external commands, so if you change the number of 'lines' or
|
||||
'columns', be very, very careful. In fact, Vim will not allow you to
|
||||
execute external commands when 'columns' is not equal to 80, because it is
|
||||
so likely to freeze up afterwards.
|
||||
|
||||
None of the above applies on Windows NT. Screen updates are fast, no
|
||||
matter how many 'lines' or 'columns' the window has, and external commands
|
||||
do not cause Vim to freeze.
|
||||
|
||||
Q. So if the Win32 version updates the screen so slowly on Windows 95 and the
|
||||
16-bit DOS version updates the screen quickly, why would I want to run the
|
||||
Win32 version?
|
||||
A. Firstly, the Win32 version isn't that slow, especially when the screen is
|
||||
set to some non-standard number of 'lines' or 'columns'. Secondly, the
|
||||
16-bit DOS version has some severe limitations: It can't do big changes and
|
||||
it doesn't know about long file names. The Win32 version doesn't have these
|
||||
limitations and it's faster overall (the same is true for the 32-bit DJGPP
|
||||
DOS version of Vim). The Win32 version is smarter about handling the
|
||||
screen, the mouse, and the keyboard than the DJGPP version is.
|
||||
|
||||
Q. And what about the 16-bit DOS version versus the Win32 version on NT?
|
||||
A. There are no good reasons to run the 16-bit DOS version on NT. The Win32
|
||||
version updates the screen just as fast as the 16-bit version does when
|
||||
running on NT. All of the above disadvantages apply. Finally, DOS
|
||||
applications can take a long time to start up and will run more slowly. On
|
||||
non-Intel NT platforms, the DOS version is almost unusably slow, because it
|
||||
runs on top of an 80x86 emulator.
|
||||
7. Win32 mini FAQ *win32-faq*
|
||||
|
||||
Q. How do I change the font?
|
||||
A. In the GUI version, you can use the 'guifont' option. Example: >
|
||||
@@ -202,47 +147,6 @@ A. In the GUI version, you can use the 'guifont' option. Example: >
|
||||
< In the console version, you need to set the font of the console itself.
|
||||
You cannot do this from within Vim.
|
||||
|
||||
Q. When I change the size of the console window with ':set lines=xx' or
|
||||
similar, the font changes! (Win95)
|
||||
A. You have the console font set to 'Auto' in Vim's (or your MS-DOS prompt's)
|
||||
properties. This makes W95 guess (badly!) what font is best. Set an explicit
|
||||
font instead.
|
||||
|
||||
Q. Why can't I paste into Vim when running Windows 95?
|
||||
A. In the properties dialog box for the MS-DOS window, go to "MS-DOS
|
||||
Prompt/Misc/Fast pasting" and make sure that it is NOT checked. You should
|
||||
also do ":set paste" in Vim to avoid unexpected effects. |'paste'|
|
||||
|
||||
Q. How do I type dead keys on Windows 95, in the console version?
|
||||
(A dead key is an accent key, such as acute, grave, or umlaut, that doesn't
|
||||
produce a character by itself, but when followed by another key, produces
|
||||
an accented character, such as a-acute, e-grave, u-umlaut, n-tilde, and so
|
||||
on. Very useful for most European languages. English-language keyboard
|
||||
layouts don't use dead keys, as far as we know.)
|
||||
A. You don't. The console mode input routines simply do not work correctly in
|
||||
Windows 95, and I have not been able to work around them. In the words
|
||||
of a senior developer at Microsoft:
|
||||
Win95 console support has always been and will always be flaky.
|
||||
|
||||
The flakiness is unavoidable because we are stuck between the world of
|
||||
MS-DOS keyboard TSRs like KEYB (which wants to cook the data;
|
||||
important for international) and the world of Win32.
|
||||
|
||||
So keys that don't "exist" in MS-DOS land (like dead keys) have a
|
||||
very tenuous existence in Win32 console land. Keys that act
|
||||
differently between MS-DOS land and Win32 console land (like
|
||||
capslock) will act flaky.
|
||||
|
||||
Don't even _mention_ the problems with multiple language keyboard
|
||||
layouts...
|
||||
|
||||
You may be able to fashion some sort of workaround with the digraphs
|
||||
mechanism. |digraphs|
|
||||
|
||||
The best solution is to use the Win32 GUI version gvim.exe. Alternatively,
|
||||
you can try one of the DOS versions of Vim where dead keys reportedly do
|
||||
work.
|
||||
|
||||
Q. How do I type dead keys on Windows NT?
|
||||
A. Dead keys work on NT 3.51. Just type them as you would in any other
|
||||
application.
|
||||
@@ -349,28 +253,6 @@ A. You have two possible solutions depending on what you want:
|
||||
< The first command runs notepad minimized and the second one runs it
|
||||
normally.
|
||||
|
||||
Q. I'm using Win32s, and when I try to run an external command like "make",
|
||||
Vim doesn't wait for it to finish! Help!
|
||||
A. The problem is that a 32-bit application (Vim) can't get notification from
|
||||
Windows that a 16-bit application (your DOS session) has finished. Vim
|
||||
includes a work-around for this, but you must set up your DOS commands to
|
||||
run in a window, not full-screen. Unfortunately the default when you
|
||||
install Windows is full-screen. To change this:
|
||||
1) Start PIF editor (in the Main program group).
|
||||
2) Open the file "_DEFAULT.PIF" in your Windows directory.
|
||||
3) Changes the display option from "Full Screen" to "Windowed".
|
||||
4) Save and exit.
|
||||
|
||||
To test, start Vim and type >
|
||||
:!dir C:\<CR>".
|
||||
< You should see a DOS box window appear briefly with the directory listing.
|
||||
|
||||
Q. I use Vim under Win32s and NT. In NT, I can define the console to default to
|
||||
50 lines, so that I get a 80x50 shell when I ':sh'. Can I do the same in
|
||||
W3.1x, or am I stuck with 80x25?
|
||||
A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS
|
||||
prompts and external DOS commands will now run in a 50-line window.
|
||||
|
||||
*windows-icon*
|
||||
Q. I don't like the Vim icon, can I change it?
|
||||
A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_gzip.txt* For Vim version 8.0. Last change: 2012 Jul 19
|
||||
*pi_gzip.txt* For Vim version 8.0. Last change: 2016 Nov 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -27,6 +27,8 @@ with these extensions:
|
||||
*.bz2 bzip2
|
||||
*.lzma lzma
|
||||
*.xz xz
|
||||
*.lz lzip
|
||||
*.zst zstd
|
||||
|
||||
That's actually the only thing you need to know. There are no options.
|
||||
|
||||
|
||||
@@ -532,7 +532,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
||||
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
||||
<
|
||||
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
||||
doesn't work, so its best to leave it off for that system)
|
||||
doesn't work, so it's best to leave it off for that system)
|
||||
|
||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||
|
||||
@@ -1206,7 +1206,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
|
||||
invoked in the session).
|
||||
|
||||
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
||||
default, its stored on the first directory on the user's |'runtimepath'|.
|
||||
default, it's stored on the first directory on the user's |'runtimepath'|.
|
||||
|
||||
Related Topics:
|
||||
|netrw-gb| how to return (go) to a bookmark
|
||||
@@ -1431,7 +1431,7 @@ be used in that count.
|
||||
*.netrwhist*
|
||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
||||
active. By default, its stored on the first directory on the user's
|
||||
active. By default, it's stored on the first directory on the user's
|
||||
|'runtimepath'|.
|
||||
|
||||
Related Topics:
|
||||
@@ -3271,7 +3271,7 @@ The user function is passed one argument; it resembles >
|
||||
|
||||
fun! ExampleUserMapFunc(islocal)
|
||||
<
|
||||
where a:islocal is 1 if its a local-directory system call or 0 when
|
||||
where a:islocal is 1 if it's a local-directory system call or 0 when
|
||||
remote-directory system call.
|
||||
|
||||
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
||||
@@ -3595,7 +3595,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
|
||||
*netrw-p16*
|
||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||
under Windows I get an |E303| message complaining that its unable
|
||||
under Windows I get an |E303| message complaining that it's unable
|
||||
to open a swap file.
|
||||
|
||||
(romainl) It looks like you are starting Vim from a protected
|
||||
@@ -3649,7 +3649,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
P21. I've made a directory (or file) with an accented character, but
|
||||
netrw isn't letting me enter that directory/read that file:
|
||||
|
||||
Its likely that the shell or o/s is using a different encoding
|
||||
It's likely that the shell or o/s is using a different encoding
|
||||
than you have vim (netrw) using. A patch to vim supporting
|
||||
"systemencoding" may address this issue in the future; for
|
||||
now, just have netrw use the proper encoding. For example: >
|
||||
|
||||
+28
-2
@@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 8.0. Last change: 2013 Apr 17
|
||||
*pi_zip.txt* For Vim version 8.0. Last change: 2016 Sep 13
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
|
||||
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
|
||||
@@ -33,6 +33,9 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
also write to the file. Currently, one may not make a new file in
|
||||
zip archives via the plugin.
|
||||
|
||||
*zip-x*
|
||||
x : may extract a listed file when the cursor is atop it
|
||||
|
||||
OPTIONS
|
||||
|
||||
*g:zip_nomax*
|
||||
@@ -60,6 +63,11 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
It's used during the writing (updating) of a file already in a zip
|
||||
file; by default: >
|
||||
let g:zip_zipcmd= "zip"
|
||||
<
|
||||
*g:zip_extractcmd*
|
||||
This option specifies the program (and any options needed) used to
|
||||
extract a file from a zip archive. By default, >
|
||||
let g:zip_extractcmd= g:zip_unzipcmd
|
||||
<
|
||||
PREVENTING LOADING~
|
||||
|
||||
@@ -83,8 +91,26 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
One can simply extend this line to accommodate additional extensions that
|
||||
should be treated as zip files.
|
||||
|
||||
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
|
||||
Currently (11/30/15) it holds: >
|
||||
|
||||
let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,
|
||||
\ *.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,
|
||||
\ *.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,
|
||||
\ *.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx,*.epub'
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
||||
the command actually to be attempted in zip#Read()
|
||||
and zip#Write()
|
||||
* added the extraction of a file capability
|
||||
Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
|
||||
Sep 13, 2016 * added *.apk to the |g:zipPlugin_ext| list and
|
||||
sorted the suffices.
|
||||
v27 Jul 02, 2013 * sanity check: zipfile must have "PK" as its first
|
||||
two bytes.
|
||||
* modified to allow zipfile: entries in quickfix lists
|
||||
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
|
||||
are synonyms for .zip
|
||||
v25 Jun 27, 2011 * using keepj with unzip -Z
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.0. Last change: 2016 Jul 17
|
||||
*quickfix.txt* For Vim version 8.0. Last change: 2016 Nov 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -878,7 +878,7 @@ need to write down a "todo" list.
|
||||
|
||||
|
||||
The Vim plugins in the "compiler" directory will set options to use the
|
||||
selected compiler. For ":compiler" local options are set, for ":compiler!"
|
||||
selected compiler. For `:compiler` local options are set, for `:compiler!`
|
||||
global options.
|
||||
*current_compiler*
|
||||
To support older Vim versions, the plugins always use "current_compiler" and
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*scroll.txt* For Vim version 8.0. Last change: 2006 Aug 27
|
||||
*scroll.txt* For Vim version 8.0. Last change: 2016 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -108,7 +108,8 @@ z^ Without [count]: Redraw with the line just above the
|
||||
3. Scrolling relative to cursor *scroll-cursor*
|
||||
|
||||
The following commands reposition the edit window (the part of the buffer that
|
||||
you see) while keeping the cursor on the same line:
|
||||
you see) while keeping the cursor on the same line. Note that the 'scrolloff'
|
||||
option may cause context lines to show above and below the cursor.
|
||||
|
||||
*z<CR>*
|
||||
z<CR> Redraw, line [count] at top of window (default
|
||||
|
||||
+36
-24
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||
*syntax.txt* For Vim version 8.0. Last change: 2016 Oct 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2863,9 +2863,11 @@ vimrc file: >
|
||||
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
||||
|
||||
|
||||
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||
*ft-posix-synax* *ft-dash-syntax*
|
||||
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||
|
||||
This covers the "normal" Unix (Bourne) sh, bash and the Korn shell.
|
||||
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||
shells such as bash, dash, posix, and the Korn shells.
|
||||
|
||||
Vim attempts to determine which shell type is in use by specifying that
|
||||
various filenames are of specific types: >
|
||||
@@ -2874,28 +2876,31 @@ various filenames are of specific types: >
|
||||
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
|
||||
<
|
||||
If none of these cases pertain, then the first line of the file is examined
|
||||
(ex. /bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype,
|
||||
then that shelltype is used. However some files (ex. .profile) are known to
|
||||
be shell files but the type is not apparent. Furthermore, on many systems
|
||||
sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
|
||||
(ex. looking for /bin/sh /bin/ksh /bin/bash). If the first line specifies a
|
||||
shelltype, then that shelltype is used. However some files (ex. .profile) are
|
||||
known to be shell files but the type is not apparent. Furthermore, on many
|
||||
systems sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh"
|
||||
(Posix).
|
||||
|
||||
One may specify a global default by instantiating one of the following three
|
||||
One may specify a global default by instantiating one of the following
|
||||
variables in your <.vimrc>:
|
||||
|
||||
ksh: >
|
||||
ksh: >
|
||||
let g:is_kornshell = 1
|
||||
< posix: (using this is the same as setting is_kornshell to 1) >
|
||||
< posix: (using this is the nearly the same as setting g:is_kornshell to 1) >
|
||||
let g:is_posix = 1
|
||||
< bash: >
|
||||
let g:is_bash = 1
|
||||
< sh: (default) Bourne shell >
|
||||
let g:is_sh = 1
|
||||
|
||||
< (dash users should use posix)
|
||||
|
||||
If there's no "#! ..." line, and the user hasn't availed himself/herself of a
|
||||
default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
|
||||
the Bourne shell syntax. No need to quote RFCs or market penetration
|
||||
statistics in error reports, please -- just select the default version of the
|
||||
sh your system uses in your <.vimrc>.
|
||||
sh your system uses and install the associated "let..." in your <.vimrc>.
|
||||
|
||||
The syntax/sh.vim file provides several levels of syntax-based folding: >
|
||||
|
||||
@@ -2904,7 +2909,7 @@ The syntax/sh.vim file provides several levels of syntax-based folding: >
|
||||
let g:sh_fold_enabled= 2 (enable heredoc folding)
|
||||
let g:sh_fold_enabled= 4 (enable if/do/for folding)
|
||||
>
|
||||
then various syntax items (HereDocuments and function bodies) become
|
||||
then various syntax items (ie. HereDocuments and function bodies) become
|
||||
syntax-foldable (see |:syn-fold|). You also may add these together
|
||||
to get multiple types of folding: >
|
||||
|
||||
@@ -2928,14 +2933,7 @@ reduce this, the "sh_maxlines" internal variable can be set. Example: >
|
||||
The default is to use the twice sh_minlines. Set it to a smaller number to
|
||||
speed up displaying. The disadvantage is that highlight errors may appear.
|
||||
|
||||
*g:sh_isk* *g:sh_noisk*
|
||||
The shell languages appear to let "." be part of words, commands, etc;
|
||||
consequently it should be in the isk for sh.vim. As of v116 of syntax/sh.vim,
|
||||
syntax/sh.vim will append the "." to |'iskeyword'| by default; you may control
|
||||
this behavior with: >
|
||||
let g:sh_isk = '..whatever characters you want as part of iskeyword'
|
||||
let g:sh_noisk= 1 " otherwise, if this exists, the isk will NOT chg
|
||||
<
|
||||
|
||||
*sh-embed* *sh-awk*
|
||||
Sh: EMBEDDING LANGUAGES~
|
||||
|
||||
@@ -3521,8 +3519,8 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||
and also determines where |:syn-keyword| will be checked for a new
|
||||
match.
|
||||
|
||||
It is recommended when writing syntax files, to use this command
|
||||
to the correct value for the specific syntax language and not change
|
||||
It is recommended when writing syntax files, to use this command to
|
||||
set the correct value for the specific syntax language and not change
|
||||
the 'iskeyword' option.
|
||||
|
||||
DEFINING KEYWORDS *:syn-keyword*
|
||||
@@ -3580,7 +3578,11 @@ DEFINING KEYWORDS *:syn-keyword*
|
||||
|
||||
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.
|
||||
|
||||
@@ -3589,6 +3591,9 @@ DEFINING MATCHES *:syn-match*
|
||||
[excludenl] Don't make a pattern with the end-of-line "$"
|
||||
extend a containing match or region. Must be
|
||||
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.
|
||||
See |:syn-pattern| below.
|
||||
Note that the pattern may match more than one
|
||||
@@ -4592,7 +4597,14 @@ in their own color.
|
||||
|
||||
Doesn't work recursively, thus you can't use
|
||||
":colorscheme" in a color scheme script.
|
||||
After the color scheme has been loaded the
|
||||
|
||||
To customize a colorscheme use another name, e.g.
|
||||
"~/.vim/colors/mine.vim", and use `:runtime` to load
|
||||
the original colorscheme: >
|
||||
runtime colors/evening.vim
|
||||
hi Statement ctermfg=Blue guifg=Blue
|
||||
|
||||
< After the color scheme has been loaded the
|
||||
|ColorScheme| autocommand event is triggered.
|
||||
For info about writing a colorscheme file: >
|
||||
:edit $VIMRUNTIME/colors/README.txt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.0. Last change: 2016 Sep 09
|
||||
*tabpage.txt* For Vim version 8.0. Last change: 2016 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -58,6 +58,8 @@ clicking right of the labels.
|
||||
In the GUI tab pages line you can use the right mouse button to open menu.
|
||||
|tabline-menu|.
|
||||
|
||||
For the related autocommands see |tabnew-autocmd|.
|
||||
|
||||
:[count]tabe[dit] *:tabe* *:tabedit* *:tabnew*
|
||||
:[count]tabnew
|
||||
Open a new tab page with an empty window, after the current
|
||||
@@ -287,6 +289,7 @@ Variables local to a tab page start with "t:". |tabpage-variable|
|
||||
|
||||
Currently there is only one option local to a tab page: 'cmdheight'.
|
||||
|
||||
*tabnew-autocmd*
|
||||
The TabLeave and TabEnter autocommand events can be used to do something when
|
||||
switching from one tab page to another. The exact order depends on what you
|
||||
are doing. When creating a new tab page this works as if you create a new
|
||||
|
||||
+12
-4
@@ -5238,6 +5238,7 @@ c_CTRL-I cmdline.txt /*c_CTRL-I*
|
||||
c_CTRL-J cmdline.txt /*c_CTRL-J*
|
||||
c_CTRL-K cmdline.txt /*c_CTRL-K*
|
||||
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-P cmdline.txt /*c_CTRL-P*
|
||||
c_CTRL-Q cmdline.txt /*c_CTRL-Q*
|
||||
@@ -5254,6 +5255,7 @@ c_CTRL-U cmdline.txt /*c_CTRL-U*
|
||||
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
||||
c_CTRL-W cmdline.txt /*c_CTRL-W*
|
||||
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-N intro.txt /*c_CTRL-\\_CTRL-N*
|
||||
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
||||
@@ -6083,6 +6085,7 @@ ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
|
||||
ft-dash-syntax syntax.txt /*ft-dash-syntax*
|
||||
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
|
||||
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
|
||||
ft-docbk-syntax syntax.txt /*ft-docbk-syntax*
|
||||
@@ -6143,6 +6146,7 @@ ft-php-syntax syntax.txt /*ft-php-syntax*
|
||||
ft-php3-syntax syntax.txt /*ft-php3-syntax*
|
||||
ft-phtml-syntax syntax.txt /*ft-phtml-syntax*
|
||||
ft-plaintex-syntax syntax.txt /*ft-plaintex-syntax*
|
||||
ft-posix-synax syntax.txt /*ft-posix-synax*
|
||||
ft-postscr-syntax syntax.txt /*ft-postscr-syntax*
|
||||
ft-ppwiz-syntax syntax.txt /*ft-ppwiz-syntax*
|
||||
ft-printcap-syntax syntax.txt /*ft-printcap-syntax*
|
||||
@@ -6396,8 +6400,6 @@ g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
||||
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
||||
g:netrw_wiw pi_netrw.txt /*g:netrw_wiw*
|
||||
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
|
||||
g:sh_isk syntax.txt /*g:sh_isk*
|
||||
g:sh_noisk syntax.txt /*g:sh_noisk*
|
||||
g:syntax_on syntax.txt /*g:syntax_on*
|
||||
g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
|
||||
g:tar_cmd pi_tar.txt /*g:tar_cmd*
|
||||
@@ -6428,6 +6430,8 @@ g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
|
||||
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
|
||||
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
|
||||
g:yaml_schema syntax.txt /*g:yaml_schema*
|
||||
g:zipPlugin_ext pi_zip.txt /*g:zipPlugin_ext*
|
||||
g:zip_extractcmd pi_zip.txt /*g:zip_extractcmd*
|
||||
g:zip_nomax pi_zip.txt /*g:zip_nomax*
|
||||
g:zip_shq pi_zip.txt /*g:zip_shq*
|
||||
g:zip_unzipcmd pi_zip.txt /*g:zip_unzipcmd*
|
||||
@@ -6611,7 +6615,7 @@ gui-w32-printing gui_w32.txt /*gui-w32-printing*
|
||||
gui-w32-start gui_w32.txt /*gui-w32-start*
|
||||
gui-w32-various gui_w32.txt /*gui-w32-various*
|
||||
gui-w32-windowid gui_w32.txt /*gui-w32-windowid*
|
||||
gui-w32s gui_w32.txt /*gui-w32s*
|
||||
gui-w32s os_win32.txt /*gui-w32s*
|
||||
gui-win32-maximized gui_w32.txt /*gui-win32-maximized*
|
||||
gui-x11 gui_x11.txt /*gui-x11*
|
||||
gui-x11-athena gui_x11.txt /*gui-x11-athena*
|
||||
@@ -7351,7 +7355,6 @@ mouse_winid-variable eval.txt /*mouse_winid-variable*
|
||||
movement intro.txt /*movement*
|
||||
ms-dos os_msdos.txt /*ms-dos*
|
||||
msdos os_msdos.txt /*msdos*
|
||||
msdos-mode gui_w32.txt /*msdos-mode*
|
||||
msql.vim syntax.txt /*msql.vim*
|
||||
mswin.vim gui_w32.txt /*mswin.vim*
|
||||
multi-byte mbyte.txt /*multi-byte*
|
||||
@@ -8692,6 +8695,7 @@ tab-page-commands tabpage.txt /*tab-page-commands*
|
||||
tab-page-intro tabpage.txt /*tab-page-intro*
|
||||
tab-page-other tabpage.txt /*tab-page-other*
|
||||
tabline-menu tabpage.txt /*tabline-menu*
|
||||
tabnew-autocmd tabpage.txt /*tabnew-autocmd*
|
||||
tabpage tabpage.txt /*tabpage*
|
||||
tabpage-variable eval.txt /*tabpage-variable*
|
||||
tabpage.txt tabpage.txt /*tabpage.txt*
|
||||
@@ -9325,6 +9329,7 @@ win32-startup os_win32.txt /*win32-startup*
|
||||
win32-term os_win32.txt /*win32-term*
|
||||
win32-vimrun gui_w32.txt /*win32-vimrun*
|
||||
win32-win3.1 os_win32.txt /*win32-win3.1*
|
||||
win32-win95 os_win32.txt /*win32-win95*
|
||||
win32s os_win32.txt /*win32s*
|
||||
win_findbuf() eval.txt /*win_findbuf()*
|
||||
win_getid() eval.txt /*win_getid()*
|
||||
@@ -9354,6 +9359,8 @@ windows-intro windows.txt /*windows-intro*
|
||||
windows-starting windows.txt /*windows-starting*
|
||||
windows.txt windows.txt /*windows.txt*
|
||||
windows95 os_win32.txt /*windows95*
|
||||
windows98 os_win32.txt /*windows98*
|
||||
windowsme os_win32.txt /*windowsme*
|
||||
winheight() eval.txt /*winheight()*
|
||||
winid windows.txt /*winid*
|
||||
winline() eval.txt /*winline()*
|
||||
@@ -9483,6 +9490,7 @@ zip-extension pi_zip.txt /*zip-extension*
|
||||
zip-history pi_zip.txt /*zip-history*
|
||||
zip-manual pi_zip.txt /*zip-manual*
|
||||
zip-usage pi_zip.txt /*zip-usage*
|
||||
zip-x pi_zip.txt /*zip-x*
|
||||
zj fold.txt /*zj*
|
||||
zk fold.txt /*zk*
|
||||
zl scroll.txt /*zl*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Aug 20
|
||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -91,7 +91,7 @@ The ignore-case matches are not found for a ":tag" command when:
|
||||
- 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
|
||||
contains an upper case character.
|
||||
|
||||
The gnore-case matches are found when:
|
||||
The ignore-case matches are found when:
|
||||
- a pattern is used (starting with a "/")
|
||||
- for ":tselect"
|
||||
- when 'tagcase' is "followic" and 'ignorecase' is off
|
||||
|
||||
+147
-295
File diff suppressed because it is too large
Load Diff
+438
-21
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Nov 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -159,7 +159,7 @@ Many functions and commands have been added to support the new types.
|
||||
On some systems the numbers used in Vim script are now 64 bit. This can be
|
||||
checked with the |+num64| feature.
|
||||
|
||||
Many items were added so support |new-style-testing|.
|
||||
Many items were added to support |new-style-testing|.
|
||||
|
||||
printf() now accepts any type of argument for %s. It is converted to a string
|
||||
like with string().
|
||||
@@ -1031,7 +1031,7 @@ Files: src/configure.in, src/auto/configure
|
||||
|
||||
Patch 7.4.095 (after 7.4.093)
|
||||
Problem: Regexp for LuaJIT version doesn't work on BSD.
|
||||
Solution: Use "*" instead of "\+" and "\?". (Ozaki)
|
||||
Solution: Use "*" instead of "\+" and "\?". (Ozaki Kiichi)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
Patch 7.4.096
|
||||
@@ -1750,7 +1750,7 @@ Files: src/Makefile
|
||||
|
||||
Patch 7.4.218
|
||||
Problem: It's not easy to remove duplicates from a list.
|
||||
Solution: Add the uniq() function. (LCD)
|
||||
Solution: Add the uniq() function. (Lcd)
|
||||
Files: runtime/doc/change.txt, runtime/doc/eval.txt,
|
||||
runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
|
||||
src/testdir/test55.in, src/testdir/test55.ok
|
||||
@@ -4311,7 +4311,7 @@ Files: src/misc2.c
|
||||
|
||||
Patch 7.4.650
|
||||
Problem: Configure check may fail because the dl library is not used.
|
||||
Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Oazki Kiichi)
|
||||
Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
Patch 7.4.651 (after 7.4.582)
|
||||
@@ -4903,7 +4903,7 @@ Solution: Make the buffer larger. (Kazunobu Kuriyama)
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 7.4.749 (after 7.4.741)
|
||||
Problem: For some options two consecutive commas are OK. (Nikolay Pavlov)
|
||||
Problem: For some options two consecutive commas are OK. (Nikolai Pavlov)
|
||||
Solution: Add the P_ONECOMMA flag.
|
||||
Files: src/option.c
|
||||
|
||||
@@ -6969,7 +6969,7 @@ Files: src/Make_mvc.mak, src/GvimExt/Makefile
|
||||
|
||||
Patch 7.4.1096
|
||||
Problem: Need several lines to verify a command produces an error.
|
||||
Solution: Add assert_fails(). (suggested by Nikolay Pavlov)
|
||||
Solution: Add assert_fails(). (suggested by Nikolai Pavlov)
|
||||
Make the quickfix alloc test actually work.
|
||||
Files: src/testdir/test_quickfix.vim, src/eval.c, runtime/doc/eval.txt,
|
||||
src/misc2.c, src/alloc.h
|
||||
@@ -7432,7 +7432,7 @@ Files: src/mbyte.c, src/os_win32.c
|
||||
|
||||
Patch 7.4.1166
|
||||
Problem: Can't encode a Funcref into JSON. jsonencode() doesn't handle the
|
||||
same list or dict twice properly. (Nikolay Pavlov)
|
||||
same list or dict twice properly. (Nikolai Pavlov)
|
||||
Solution: Give an error. Reset copyID when the list or dict is finished.
|
||||
Files: src/json.c, src/proto/json.pro, src/testdir/test_json.vim
|
||||
|
||||
@@ -7442,7 +7442,7 @@ Solution: Add tests.
|
||||
Files: src/testdir/test_viml.vim
|
||||
|
||||
Patch 7.4.1168
|
||||
Problem: This doesn't give the right result: eval(string(v:true)). (Nikolay
|
||||
Problem: This doesn't give the right result: eval(string(v:true)). (Nikolai
|
||||
Pavlov)
|
||||
Solution: Make the string "v:true" instead of "true".
|
||||
Files: src/eval.c, src/testdir/test_viml.vim
|
||||
@@ -7993,7 +7993,7 @@ Files: src/testdir/test_channel.vim
|
||||
|
||||
Patch 7.4.1258
|
||||
Problem: The channel test can fail if messages arrive later.
|
||||
Solution: Add a short sleep. (Jun T.)
|
||||
Solution: Add a short sleep. (Jun Takimoto)
|
||||
Files: src/testdir/test_channel.vim
|
||||
|
||||
Patch 7.4.1259
|
||||
@@ -8848,8 +8848,8 @@ Files: src/channel.c, src/gui_w32.c, src/os_win32.c, src/structs.h,
|
||||
|
||||
Patch 7.4.1405
|
||||
Problem: Completion menu flickers.
|
||||
Solution: Delay showing the popup menu. (Shougo, Justin M. Keyes, closes
|
||||
#656)
|
||||
Solution: Delay showing the popup menu. (Shougo Matsu, Justin M. Keyes,
|
||||
closes #656)
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.4.1406
|
||||
@@ -9372,7 +9372,7 @@ Solution: Handle blinking differently. (Kazunobu Kuriyama)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 7.4.1498
|
||||
Problem: Error for locked item when using json_decode(). (Shougo)
|
||||
Problem: Error for locked item when using json_decode(). (Shougo Matsu)
|
||||
Solution: Initialize v_lock.
|
||||
Files: src/json.c
|
||||
|
||||
@@ -9775,7 +9775,7 @@ Files: src/testdir/Make_all.mak, src/testdir/test106.in,
|
||||
|
||||
Patch 7.4.1570
|
||||
Problem: There is no way to avoid the message when editing a file.
|
||||
Solution: Add the "F" flag to 'shortmess'. (Shougo, closes #686)
|
||||
Solution: Add the "F" flag to 'shortmess'. (Shougo Matsu, closes #686)
|
||||
Files: runtime/doc/options.txt, src/buffer.c, src/ex_cmds.c,
|
||||
src/option.h
|
||||
|
||||
@@ -10793,7 +10793,7 @@ Files: src/if_py_both.h
|
||||
|
||||
Patch 7.4.1744
|
||||
Problem: Python: Converting a sequence may leak memory.
|
||||
Solution: Decrement a reference. (Nikolay Pavlov)
|
||||
Solution: Decrement a reference. (Nikolai Pavlov)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
Patch 7.4.1745
|
||||
@@ -10866,7 +10866,8 @@ Files: src/option.c, src/testdir/test_alot.vim,
|
||||
Patch 7.4.1757
|
||||
Problem: When using complete() it may set 'modified' even though nothing
|
||||
was inserted.
|
||||
Solution: Use Down/Up instead of Next/Previous match. (Shougo, closes #745)
|
||||
Solution: Use Down/Up instead of Next/Previous match. (Shougo Matsu, closes
|
||||
#745)
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.4.1758
|
||||
@@ -11392,7 +11393,7 @@ Solution: Check if ch_to_be_closed is set.
|
||||
Files: src/channel.c
|
||||
|
||||
Patch 7.4.1850
|
||||
Problem: GUI freezes when using a job. (Shougo)
|
||||
Problem: GUI freezes when using a job. (Shougo Matsu)
|
||||
Solution: Unregister the channel when there is an input error.
|
||||
Files: src/channel.c
|
||||
|
||||
@@ -12354,12 +12355,12 @@ Files: src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2013
|
||||
Problem: Using "noinsert" in 'completeopt' breaks redo.
|
||||
Solution: Set compl_curr_match. (Shougo, closes #874)
|
||||
Solution: Set compl_curr_match. (Shougo Matsu, closes #874)
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 7.4.2014
|
||||
Problem: Using "noinsert" in 'completeopt' does not insert match.
|
||||
Solution: Set compl_enter_selects. (Shougo, closes #875)
|
||||
Solution: Set compl_enter_selects. (Shougo Matsu, closes #875)
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 7.4.2015
|
||||
@@ -14279,7 +14280,7 @@ Solution: Make close_buffer() go back to the right window.
|
||||
Files: src/buffer.c, src/testdir/test_autocmd.vim
|
||||
|
||||
Patch 7.4.2329
|
||||
Problem: Error for min() and max() contains %s. (Nikolay Pavlov)
|
||||
Problem: Error for min() and max() contains %s. (Nikolai Pavlov)
|
||||
Solution: Pass the function name. (closes #1040)
|
||||
Files: src/evalfunc.c, src/testdir/test_expr.vim
|
||||
|
||||
@@ -14405,7 +14406,7 @@ Solution: Don't access curwin when exiting.
|
||||
Files: src/buffer.c
|
||||
|
||||
Patch 7.4.2349
|
||||
Problem: Valgrind reports using uninitialzed memory. (Dominique Pelle)
|
||||
Problem: Valgrind reports using uninitialized memory. (Dominique Pelle)
|
||||
Solution: Check the length before checking for a NUL.
|
||||
Files: src/message.c
|
||||
|
||||
@@ -14506,4 +14507,420 @@ Problem: Test runner misses a comma.
|
||||
Solution: Add the comma.
|
||||
Files: src/testdir/runtest.vim
|
||||
|
||||
Patch 8.0.0001
|
||||
Problem: Intro screen still mentions version7. (Paul)
|
||||
Solution: Change it to version8.
|
||||
Files: src/version.c
|
||||
|
||||
Patch 8.0.0002
|
||||
Problem: The netrw plugin does not work.
|
||||
Solution: Make it accept version 8.0.
|
||||
Files: runtime/autoload/netrw.vim
|
||||
|
||||
Patch 8.0.0003
|
||||
Problem: getwinvar() returns wrong Value of boolean and number options,
|
||||
especially non big endian systems. (James McCoy)
|
||||
Solution: Cast the pointer to long or int. (closes #1060)
|
||||
Files: src/option.c, src/testdir/test_bufwintabinfo.vim
|
||||
|
||||
Patch 8.0.0004
|
||||
Problem: A string argument for function() that is not a function name
|
||||
results in an error message with NULL. (Christian Brabandt)
|
||||
Solution: Use the argument for the error message.
|
||||
Files: src/evalfunc.c, src/testdir/test_expr.vim
|
||||
|
||||
Patch 8.0.0005
|
||||
Problem: Netbeans test fails with Python 3. (Jonathonf)
|
||||
Solution: Encode the string before sending it. (closes #1070)
|
||||
Files: src/testdir/test_netbeans.py
|
||||
|
||||
Patch 8.0.0006
|
||||
Problem: ":lb" is interpreted as ":lbottom" while the documentation says it
|
||||
means ":lbuffer".
|
||||
Solution: Adjust the order of the commands. (haya14busa, closes #1093)
|
||||
Files: src/ex_cmds.h
|
||||
|
||||
Patch 8.0.0007
|
||||
Problem: Vim 7.4 is still mentioned in a few places.
|
||||
Solution: Update to Vim 8. (Uncle Bill, closes #1094)
|
||||
Files: src/INSTALLpc.txt, src/vimtutor, uninstal.txt
|
||||
|
||||
Patch 8.0.0008
|
||||
Problem: Popup complete test is disabled.
|
||||
Solution: Enable the test and change the assert. (Hirohito Higashi)
|
||||
Files: src/testdir/test_popup.vim
|
||||
|
||||
Patch 8.0.0009
|
||||
Problem: Unnecessary workaround for AppVeyor.
|
||||
Solution: Revert patch 7.4.990. (Christian Brabandt)
|
||||
Files: appveyor.yml
|
||||
|
||||
Patch 8.0.0010
|
||||
Problem: Crash when editing file that starts with crypt header. (igor2x)
|
||||
Solution: Check for length of text. (Christian Brabandt) Add a test.
|
||||
Files: src/fileio.c, src/testdir/test_crypt.vim, src/Makefile,
|
||||
src/testdir/Make_all.mak
|
||||
|
||||
Patch 8.0.0011
|
||||
Problem: On OSX Test_pipe_through_sort_all() sometimes fails.
|
||||
Solution: Add the test to the list of flaky tests.
|
||||
Files: src/testdir/runtest.vim
|
||||
|
||||
Patch 8.0.0012
|
||||
Problem: Typos in comments.
|
||||
Solution: Change "its" to "it's". (Matthew Brener, closes #1088)
|
||||
Files: src/evalfunc.c, src/main.aap, src/nbdebug.c, src/netbeans.c,
|
||||
src/quickfix.c, src/workshop.c, src/wsdebug.c
|
||||
|
||||
Patch 8.0.0013 (after 8.0.0011)
|
||||
Problem: Missing comma in list.
|
||||
Solution: Add the comma.
|
||||
Files: src/testdir/runtest.vim
|
||||
|
||||
Patch 8.0.0014
|
||||
Problem: Crypt tests are old style.
|
||||
Solution: Convert to new style.
|
||||
Files: src/testdir/test71.in, src/testdir/test71.ok,
|
||||
src/testdir/test71a.in, src/testdir/test_crypt.vim, src/Makefile,
|
||||
src/testdir/Make_all.mak
|
||||
|
||||
Patch 8.0.0015
|
||||
Problem: Can't tell which part of a channel has "buffered" status.
|
||||
Solution: Add an optional argument to ch_status(). Let ch_info() also
|
||||
return "buffered" for out_status and err_status.
|
||||
Files: src/evalfunc.c, src/channel.c, src/proto/channel.pro,
|
||||
src/testdir/test_channel.vim, runtime/doc/eval.txt
|
||||
|
||||
Patch 8.0.0016 (after 8.0.0015)
|
||||
Problem: Build fails.
|
||||
Solution: Include missing change.
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 8.0.0017
|
||||
Problem: Cannot get the number of the current quickfix or location list.
|
||||
Solution: Use the current list if "nr" in "what" is zero. (Yegappan
|
||||
Lakshmanan) Remove debug command from test.
|
||||
Files: src/quickfix.c, src/testdir/test_quickfix.vim,
|
||||
runtime/doc/eval.txt
|
||||
|
||||
Patch 8.0.0018
|
||||
Problem: When using ":sleep" channel input is not handled.
|
||||
Solution: When there is a channel check for input also when not in raw mode.
|
||||
Check every 100 msec.
|
||||
Files: src/channel.c, src/proto/channel.pro, src/ui.c, src/proto/ui.pro,
|
||||
src/ex_docmd.c, src/os_amiga.c, src/proto/os_amiga.pro,
|
||||
src/os_unix.c, src/proto/os_unix.pro, src/os_win32.c,
|
||||
src/proto/os_win32.pro
|
||||
|
||||
Patch 8.0.0019
|
||||
Problem: Test_command_count is old style.
|
||||
Solution: Turn it into a new style test. (Naruhiko Nishino)
|
||||
Use more assert functions.
|
||||
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_alot.vim,
|
||||
src/testdir/test_autocmd.vim, src/testdir/test_command_count.in,
|
||||
src/testdir/test_command_count.ok,
|
||||
src/testdir/test_command_count.vim
|
||||
|
||||
Patch 8.0.0020
|
||||
Problem: The regexp engines are not reentrant.
|
||||
Solution: Add regexec_T and save/restore the state when needed.
|
||||
Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_expr.vim,
|
||||
runtime/doc/eval.txt, runtime/doc/change.txt
|
||||
|
||||
Patch 8.0.0021
|
||||
Problem: In the GUI when redrawing the cursor it may be on the second half
|
||||
of a double byte character.
|
||||
Solution: Correct the cursor column. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 8.0.0022
|
||||
Problem: If a channel in NL mode is missing the NL at the end the remaining
|
||||
characters are dropped.
|
||||
Solution: When the channel is closed use the remaining text. (Ozaki Kiichi)
|
||||
Files: src/channel.c, src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.0.0023
|
||||
Problem: "gd" and "gD" may find a match in a comment or string.
|
||||
Solution: Ignore matches in comments and strings. (Anton Lindqvist)
|
||||
Files: src/normal.c, src/testdir/test_goto.vim
|
||||
|
||||
Patch 8.0.0024
|
||||
Problem: When the netbeans channel closes, "DETACH" is put in the output
|
||||
part. (Ozaki Kiichi)
|
||||
Solution: Write "DETACH" in the socket part.
|
||||
Files: src/channel.c, src/testdir/test_netbeans.vim
|
||||
|
||||
Patch 8.0.0025
|
||||
Problem: Inconsistent use of spaces vs tabs in gd test.
|
||||
Solution: Use tabs. (Anton Lindqvist)
|
||||
Files: src/testdir/test_goto.vim
|
||||
|
||||
Patch 8.0.0026
|
||||
Problem: Error format with %W, %C and %Z does not work. (Gerd Wachsmuth)
|
||||
Solution: Skip code when qf_multiignore is set. (Lcd)
|
||||
Files: src/quickfix.c, src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.0.0027
|
||||
Problem: A channel is closed when reading on stderr or stdout fails, but
|
||||
there may still be something to read on another part.
|
||||
Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
|
||||
Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro,
|
||||
src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.0.0028
|
||||
Problem: Superfluous semicolons.
|
||||
Solution: Remove them. (Ozaki Kiichi)
|
||||
Files: src/ex_cmds2.c
|
||||
|
||||
Patch 8.0.0029
|
||||
Problem: Code for MS-Windows is complicated because of the exceptions for
|
||||
old systems.
|
||||
Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata)
|
||||
Files: runtime/doc/gui_w32.txt, runtime/doc/os_win32.txt,
|
||||
runtime/doc/todo.txt, src/GvimExt/Makefile, src/Make_mvc.mak,
|
||||
src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_w32.c,
|
||||
src/if_cscope.c, src/misc1.c, src/misc2.c, src/option.c,
|
||||
src/os_mswin.c, src/os_win32.c, src/os_win32.h,
|
||||
src/proto/os_mswin.pro, src/proto/os_win32.pro, src/version.c
|
||||
|
||||
Patch 8.0.0030
|
||||
Problem: Mouse mode is not automatically detected for tmux.
|
||||
Solution: Check for 'term' to be "tmux". (Michael Henry)
|
||||
Files: src/os_unix.c
|
||||
|
||||
Patch 8.0.0031
|
||||
Problem: After ":bwipeout" 'fileformat' is not set to the right default.
|
||||
Solution: Get the default from 'fileformats'. (Mike Williams)
|
||||
Files: src/option.c, src/Makefile, src/testdir/test_fileformat.vim,
|
||||
src/testdir/test_alot.vim
|
||||
|
||||
Patch 8.0.0032
|
||||
Problem: Tests may change the input file when something goes wrong.
|
||||
Solution: Avoid writing the input file.
|
||||
Files: src/testdir/test51.in, src/testdir/test67.in,
|
||||
src/testdir/test97.in, src/testdir/test_tabpage.vim
|
||||
|
||||
Patch 8.0.0033
|
||||
Problem: Cannot use overlapping positions with matchaddpos().
|
||||
Solution: Check end of match. (Ozaki Kiichi) Add a test (Hirohito Higashi)
|
||||
Files: src/screen.c, src/testdir/test_match.vim
|
||||
|
||||
Patch 8.0.0034
|
||||
Problem: No completion for ":messages".
|
||||
Solution: Complete "clear" argument. (Hirohito Higashi)
|
||||
Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro,
|
||||
src/testdir/test_cmdline.vim, src/vim.h,
|
||||
runtime/doc/eval.txt, runtime/doc/map.txt
|
||||
|
||||
Patch 8.0.0035 (after 7.4.2013)
|
||||
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
|
||||
Solution: Do not set compl_curr_match when called from complete_check().
|
||||
(closes #1168)
|
||||
Files: src/edit.c, src/evalfunc.c, src/proto/edit.pro, src/search.c,
|
||||
src/spell.c, src/tag.c, src/testdir/test76.in,
|
||||
src/testdir/test76.ok, src/testdir/test_popup.vim, src/Makefile,
|
||||
src/testdir/Make_all.mak
|
||||
|
||||
Patch 8.0.0036
|
||||
Problem: Detecting that a job has finished may take a while.
|
||||
Solution: Check for a finished job more often (Ozaki Kiichi)
|
||||
Files: src/channel.c, src/os_unix.c, src/os_win32.c,
|
||||
src/proto/os_unix.pro, src/proto/os_win32.pro,
|
||||
src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.0.0037
|
||||
Problem: Get E924 when switching tabs. ()
|
||||
Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille,
|
||||
closes #1167, closes #1171)
|
||||
Files: src/quickfix.c, src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.0.0038
|
||||
Problem: OPEN_CHR_FILES not defined for FreeBSD using Debian userland
|
||||
files.
|
||||
Solution: Check for __FreeBSD_kernel__. (James McCoy, closes #1166)
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 8.0.0039
|
||||
Problem: When Vim 8 reads an old viminfo and exits, the next time marks are
|
||||
not read from viminfo. (Ned Batchelder)
|
||||
Solution: Set a mark when it wasn't set before, even when the timestamp is
|
||||
zero. (closes #1170)
|
||||
Files: src/mark.c, src/testdir/test_viminfo.vim
|
||||
|
||||
Patch 8.0.0040 (after 8.0.0033)
|
||||
Problem: Whole line highlighting with matchaddpos() does not work.
|
||||
Solution: Check for zero length. (Hirohito Higashi)
|
||||
Files: src/screen.c, src/testdir/test_match.vim
|
||||
|
||||
Patch 8.0.0041
|
||||
Problem: When using Insert mode completion but not actually inserting
|
||||
anything an undo item is still created. (Tommy Allen)
|
||||
Solution: Do not call stop_arrow() when not inserting anything.
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 8.0.0042 (after 8.0.0041)
|
||||
Problem: When using Insert mode completion with 'completeopt' containing
|
||||
"noinsert" change is not saved for undo. (Tommy Allen)
|
||||
Solution: Call stop_arrow() before inserting for pressing Enter.
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 8.0.0043 (after 8.0.0041)
|
||||
Problem: When using Insert mode completion with 'completeopt' containing
|
||||
"noinsert" with CTRL-N the change is not saved for undo. (Tommy
|
||||
Allen)
|
||||
Solution: Call stop_arrow() before inserting for any key.
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 8.0.0044
|
||||
Problem: In diff mode the cursor may end up below the last line, resulting
|
||||
in an ml_get error.
|
||||
Solution: Check the line to be valid.
|
||||
Files: src/move.c, src/diff.c, src/proto/diff.pro,
|
||||
src/testdir/test_diffmode.vim
|
||||
|
||||
Patch 8.0.0045
|
||||
Problem: Calling job_stop() right after job_start() does not work.
|
||||
Solution: Block signals while fork is still busy. (Ozaki Kiichi, closes
|
||||
#1155)
|
||||
Files: src/auto/configure, src/config.h.in, src/configure.in,
|
||||
src/os_unix.c, src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.0.0046
|
||||
Problem: Using NUL instead of NULL.
|
||||
Solution: Change to NULL. (Dominique Pelle)
|
||||
Files: src/ex_cmds.c, src/json.c
|
||||
|
||||
Patch 8.0.0047
|
||||
Problem: Crash when using the preview window from an unnamed buffer.
|
||||
(lifepillar)
|
||||
Solution: Do not clear the wrong buffer. (closes #1200)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
Patch 8.0.0048
|
||||
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
|
||||
(Linwei)
|
||||
Solution: Iterate over all processes and terminate the one where the parent
|
||||
is the job process. (Yasuhiro Matsumoto, closes #1184)
|
||||
Files: src/os_win32.c, src/structs.h
|
||||
|
||||
Patch 8.0.0049
|
||||
Problem: When a match ends in part of concealed text highlighting, it might
|
||||
mess up concealing by resetting prev_syntax_id.
|
||||
Solution: Do not reset prev_syntax_id and add a test to verify. (Christian
|
||||
Brabandt, closes #1092)
|
||||
Files: src/screen.c, src/testdir/test_matchadd_conceal.vim
|
||||
|
||||
Patch 8.0.0050
|
||||
Problem: An exiting job is detected with a large latency.
|
||||
Solution: Check for pending job more often. (Ozaki Kiichi) Change the
|
||||
double loop in mch_inchar() into one.
|
||||
Files: src/channel.c, src/os_unix.c, src/testdir/shared.vim,
|
||||
src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.0.0051 (after 8.0.0048)
|
||||
Problem: New code for job_stop() breaks channel test on AppVeyor.
|
||||
Solution: Revert the change.
|
||||
Files: src/os_win32.c, src/structs.h
|
||||
|
||||
Patch 8.0.0052 (after 8.0.0049)
|
||||
Problem: Conceal test passes even without the bug fix.
|
||||
Solution: Add a redraw command. (Christian Brabandt)
|
||||
Files: src/testdir/test_matchadd_conceal.vim
|
||||
|
||||
Patch 8.0.0053 (after 8.0.0047)
|
||||
Problem: No test for what 8.0.0047 fixes.
|
||||
Solution: Add a test. (Hirohito Higashi)
|
||||
Files: src/testdir/test_popup.vim
|
||||
|
||||
Patch 8.0.0054 (after 8.0.0051)
|
||||
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
|
||||
(Linwei)
|
||||
Solution: Iterate over all processes and terminate the one where the parent
|
||||
is the job process. Now only when there is no job object.
|
||||
(Yasuhiro Matsumoto, closes #1203)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 8.0.0055
|
||||
Problem: Minor comment and style deficiencies.
|
||||
Solution: Update comments and fix style.
|
||||
Files: src/buffer.c, src/misc2.c, src/os_unix.c
|
||||
|
||||
Patch 8.0.0056
|
||||
Problem: When setting 'filetype' there is no check for a valid name.
|
||||
Solution: Only allow valid characters in 'filetype', 'syntax' and 'keymap'.
|
||||
Files: src/option.c, src/testdir/test_options.vim
|
||||
|
||||
Patch 8.0.0057 (after 8.0.0056)
|
||||
Problem: Tests fail without the 'keymap' features.
|
||||
Solution: Check for feature in test.
|
||||
Files: src/testdir/test_options.vim
|
||||
|
||||
Patch 8.0.0058
|
||||
Problem: Positioning of the popup menu is not good.
|
||||
Solution: Position it better. (Hirohito Higashi)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
Patch 8.0.0059
|
||||
Problem: Vim does not build on VMS systems.
|
||||
Solution: Various changes for VMS. (Zoltan Arpadffy)
|
||||
Files: src/json.c, src/macros.h, src/Make_vms.mms, src/os_unix.c,
|
||||
src/os_unix.h, src/os_vms.c, src/os_vms_conf.h,
|
||||
src/proto/os_vms.pro, src/testdir/Make_vms.mms
|
||||
|
||||
Patch 8.0.0060
|
||||
Problem: When using an Ex command for 'keywordprg' it is escaped as with a
|
||||
shell command. (Romain Lafourcade)
|
||||
Solution: Escape for an Ex command. (closes #1175)
|
||||
Files: src/normal.c, src/testdir/test_normal.vim
|
||||
|
||||
Patch 8.0.0061 (after 8.0.0058)
|
||||
Problem: Compiler warning for unused variable.
|
||||
Solution: Add #ifdef. (John Marriott)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
Patch 8.0.0062
|
||||
Problem: No digraph for HORIZONTAL ELLIPSIS.
|
||||
Solution: Use ",.". (Hans Ginzel, closes #1226)
|
||||
Files: src/digraph.c, runtime/doc/digraph.txt
|
||||
|
||||
Patch 8.0.0063
|
||||
Problem: Compiler warning for comparing with unsigned. (Zoltan Arpadffy)
|
||||
Solution: Change <= to ==.
|
||||
Files: src/undo.c
|
||||
|
||||
Patch 8.0.0064 (after 8.0.0060)
|
||||
Problem: Normal test fails on MS-Windows.
|
||||
Solution: Don't try using an illegal file name.
|
||||
Files: src/testdir/test_normal.vim
|
||||
|
||||
Patch 8.0.0065 (after 8.0.0056)
|
||||
Problem: Compiler warning for unused function in tiny build. (Tony
|
||||
Mechelynck)
|
||||
Solution: Add #ifdef.
|
||||
Files: src/option.c
|
||||
|
||||
Patch 8.0.0066
|
||||
Problem: when calling an operator function when 'linebreak' is set, it is
|
||||
internally reset before calling the operator function.
|
||||
Solution: Restore 'linebreak' before calling op_function(). (Christian
|
||||
Brabandt)
|
||||
Files: src/normal.c, src/testdir/test_normal.vim
|
||||
|
||||
Patch 8.0.0067
|
||||
Problem: VMS has a problem with infinity.
|
||||
Solution: Avoid an overflow. (Zoltan Arpadffy)
|
||||
Files: src/json.c, src/macros.h
|
||||
|
||||
Patch 8.0.0068
|
||||
Problem: Checking did_throw after executing autocommands is wrong. (Daniel
|
||||
Hahler)
|
||||
Solution: Call aborting() instead, and only when autocommands were executed.
|
||||
Files: src/quickfix.c, src/if_cscope.c, src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.0.0069
|
||||
Problem: Compiler warning for self-comparison.
|
||||
Solution: Define ONE_WINDOW and add #ifdef.
|
||||
Files: src/globals.h, src/buffer.c, src/ex_docmd.c, src/move.c,
|
||||
src/screen.c, src/quickfix.c, src/window.c
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.0. Last change: 2016 Aug 23
|
||||
*windows.txt* For Vim version 8.0. Last change: 2016 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -295,8 +295,8 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
:1quit " quit the first window
|
||||
:$quit " quit the last window
|
||||
:9quit " quit the last window
|
||||
" if there are less than 9 windows opened
|
||||
:-quit " quit the previews window
|
||||
" if there are fewer than 9 windows opened
|
||||
:-quit " quit the previous window
|
||||
:+quit " quit the next window
|
||||
:+2quit " quit the second next window
|
||||
<
|
||||
|
||||
+16
-3
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Aug 26
|
||||
" Last Change: 2016 Oct 31
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -676,6 +676,9 @@ au BufNewFile,BufRead *.dts,*.dtsi setf dts
|
||||
" EDIF (*.edf,*.edif,*.edn,*.edo)
|
||||
au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif
|
||||
|
||||
" EditorConfig (close enough to dosini)
|
||||
au BufNewFile,BufRead .editorconfig setf dosini
|
||||
|
||||
" Embedix Component Description
|
||||
au BufNewFile,BufRead *.ecd setf ecd
|
||||
|
||||
@@ -806,6 +809,10 @@ au BufNewFile,BufRead *.gp,.gprc setf gp
|
||||
au BufNewFile,BufRead */.gnupg/options setf gpg
|
||||
au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg
|
||||
au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg
|
||||
if !empty($GNUPGHOME)
|
||||
au BufNewFile,BufRead $GNUPGHOME/options setf gpg
|
||||
au BufNewFile,BufRead $GNUPGHOME/gpg.conf setf gpg
|
||||
endif
|
||||
|
||||
" gnash(1) configuration files
|
||||
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
||||
@@ -855,7 +862,7 @@ au BufNewFile,BufRead *.ht setf haste
|
||||
au BufNewFile,BufRead *.htpp setf hastepreproc
|
||||
|
||||
" Hercules
|
||||
au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules
|
||||
au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
|
||||
|
||||
" HEX (Intel)
|
||||
au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||
@@ -1753,6 +1760,9 @@ au BufNewFile,BufRead *.rb,*.rbw setf ruby
|
||||
" RubyGems
|
||||
au BufNewFile,BufRead *.gemspec setf ruby
|
||||
|
||||
" Rust
|
||||
au BufNewFile,BufRead *.rs setf rust
|
||||
|
||||
" Rackup
|
||||
au BufNewFile,BufRead *.ru setf ruby
|
||||
|
||||
@@ -2247,7 +2257,7 @@ func! s:FTtex()
|
||||
endfunc
|
||||
|
||||
" ConTeXt
|
||||
au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context
|
||||
au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv,*.mkvi setf context
|
||||
|
||||
" Texinfo
|
||||
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
|
||||
@@ -2661,6 +2671,9 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
|
||||
" Nroff macros
|
||||
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
|
||||
|
||||
" OpenBSD hostname.if
|
||||
au BufNewFile,BufRead /etc/hostname.* call s:StarSetf('config')
|
||||
|
||||
" Pam conf
|
||||
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 30
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,16 +12,26 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
|
||||
if !exists('current_compiler')
|
||||
compiler context
|
||||
endif
|
||||
|
||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tcroql
|
||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
|
||||
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
setlocal omnifunc=contextcomplete#Complete
|
||||
let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+'
|
||||
let g:omni_syntax_group_exclude_context = 'mfTodoComment'
|
||||
endif
|
||||
|
||||
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
|
||||
\ . 'def\|\\font\|\\\%(future\)\=let'
|
||||
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
|
||||
\ . '\|fam\|insert\|if\)'
|
||||
|
||||
let &l:include = '^\s*\%(input\|component\)'
|
||||
let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||
|
||||
setlocal suffixesadd=.tex
|
||||
|
||||
@@ -31,5 +42,61 @@ if exists("loaded_matchit")
|
||||
\ '\\start\(\a\+\):\\stop\1'
|
||||
endif
|
||||
|
||||
let s:context_regex = {
|
||||
\ 'beginsection' : '\\\%(start\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
\ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
\ 'beginblock' : '\\\%(start\|setup\|define\)',
|
||||
\ 'endblock' : '\\\%(stop\|setup\|define\)'
|
||||
\ }
|
||||
|
||||
function! s:move_around(count, what, flags, visual)
|
||||
if a:visual
|
||||
exe "normal! gv"
|
||||
endif
|
||||
call search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
|
||||
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>
|
||||
|
||||
" Other useful mappings
|
||||
if get(g:, 'context_mappings', 1)
|
||||
let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)'
|
||||
|
||||
fun! s:tp()
|
||||
call cursor(search(s:tp_regex, 'bcW') + 1, 1)
|
||||
normal! V
|
||||
call cursor(search(s:tp_regex, 'W') - 1, 1)
|
||||
endf
|
||||
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
endif
|
||||
|
||||
" Commands for asynchronous typesetting
|
||||
command! -buffer -nargs=? -complete=file ConTeXt call context#typeset(<q-args>)
|
||||
command! -nargs=0 ConTeXtJobStatus call context#job_status()
|
||||
command! -nargs=0 ConTeXtStopJobs call context#stop_jobs()
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
+56
-5
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: MetaFont
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 2
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,9 +12,59 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
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\)\>',
|
||||
\ '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
|
||||
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||
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\>,' .
|
||||
\ '\<begin\%(logo\)\?char\>:\<endchar\>'
|
||||
" Ignore comments and strings
|
||||
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||
\ =~# "mf\\(Comment\\|String\\)$"'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
+59
-5
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 2
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,9 +12,16 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
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
|
||||
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
||||
@@ -24,5 +32,51 @@ if exists(":FixBeginfigs") != 2
|
||||
endfunction
|
||||
endif
|
||||
|
||||
let s:mp_regex = {
|
||||
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||
\ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|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
|
||||
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||
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\>,' .
|
||||
\ '\<begin\%(logo\)\?char\>:\<endchar\>,' .
|
||||
\ '\<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
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: python
|
||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Tue, 06 September 2016
|
||||
" Last Change: Tue, 09 October 2016
|
||||
" https://github.com/sullyj3/vim-ftplugin-python
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@@ -22,10 +22,10 @@ setlocal omnifunc=pythoncomplete#Complete
|
||||
|
||||
set wildignore+=*.pyc
|
||||
|
||||
let b:next_toplevel='\v%$\|^(class\|def)>'
|
||||
let b:prev_toplevel='\v^(class\|def)>'
|
||||
let b:next='\v%$\|^\s*(class\|def)>'
|
||||
let b:prev='\v^\s*(class\|def)>'
|
||||
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
||||
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
||||
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||
|
||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
|
||||
@@ -16,7 +16,7 @@ if exists("*CdlGetIndent")
|
||||
"finish
|
||||
endif
|
||||
|
||||
" find out if an "...=..." expresion its an asignment (or a conditional)
|
||||
" find out if an "...=..." expresion is an assignment (or a conditional)
|
||||
" it scans 'line' first, and then the previos lines
|
||||
fun! CdlAsignment(lnum, line)
|
||||
let f = -1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
" ConTeXt indent file
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 15
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
finish
|
||||
endif
|
||||
|
||||
" Load MetaPost indentation script
|
||||
runtime! indent/mp.vim
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal indentexpr=GetConTeXtIndent()
|
||||
|
||||
let b:undo_indent = "setl indentexpr<"
|
||||
|
||||
function! GetConTeXtIndent()
|
||||
" Use MetaPost rules inside MetaPost graphic environments
|
||||
if len(synstack(v:lnum, 1)) > 0 &&
|
||||
\ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
||||
return GetMetaPostIndent()
|
||||
endif
|
||||
return -1
|
||||
endfunc
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:sw=2
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim indent file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: 0.45
|
||||
" Last Change: 2016 Aug. 29
|
||||
" Version: 47
|
||||
" Last Change: 2016 Oct. 29
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-indent from Vim
|
||||
" 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.
|
||||
if exists("b:did_indent")
|
||||
@@ -99,9 +100,9 @@ function FortranGetIndent(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
"Add a shiftwidth to statements following if, else, else if, case,
|
||||
"Add a shiftwidth to statements following if, else, else if, case, class,
|
||||
"where, else where, forall, type, interface and associate statements
|
||||
if prevstat =~? '^\s*\(case\|else\|else\s*if\|else\s*where\)\>'
|
||||
if prevstat =~? '^\s*\(case\|class\|else\|else\s*if\|else\s*where\)\>'
|
||||
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
|
||||
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
|
||||
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
||||
@@ -121,7 +122,8 @@ function FortranGetIndent(lnum)
|
||||
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
||||
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
||||
\.'\|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.type.'function\>'
|
||||
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
||||
@@ -129,16 +131,16 @@ function FortranGetIndent(lnum)
|
||||
endif
|
||||
if getline(v:lnum) =~? '^\s*contains\>'
|
||||
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
||||
\ .'\(function\|subroutine\|module\/submodule\|program\)\>'
|
||||
\ .'\(function\|subroutine\|module\|submodule\|program\)\>'
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
"Subtract a shiftwidth from else, else if, elsewhere, case, end if,
|
||||
"Subtract a shiftwidth from else, else if, elsewhere, case, class, end if,
|
||||
" end where, end select, end forall, end interface, end associate,
|
||||
" end enum, end type, end block and end type statements
|
||||
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
|
||||
\. '\(else\|else\s*if\|else\s*where\|case\|'
|
||||
\. '\(else\|else\s*if\|else\s*where\|case\|class\|'
|
||||
\. 'end\s*\(if\|where\|select\|interface\|'
|
||||
\. 'type\|forall\|associate\|enum\|block\)\)\>'
|
||||
let ind = ind - shiftwidth()
|
||||
|
||||
@@ -749,7 +749,7 @@ func! s:CssPrevNonComment(lnum, stopline)
|
||||
while 1
|
||||
let ccol = match(getline(lnum), '\*/')
|
||||
if ccol < 0
|
||||
" No comment end thus its something else.
|
||||
" No comment end thus it's something else.
|
||||
return lnum
|
||||
endif
|
||||
call cursor(lnum, ccol + 1)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
" METAFONT indent file
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 1
|
||||
|
||||
runtime! indent/mp.vim
|
||||
+324
-175
@@ -1,56 +1,19 @@
|
||||
" MetaPost indent file
|
||||
" Language: MetaPost
|
||||
" Maintainer: Eugene Minkovskii <emin@mccme.ru>
|
||||
" Last Change: 2012 May 18
|
||||
" Version: 0.1
|
||||
" ==========================================================================
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||
" Last Change: 2016 Oct 2, 4:13pm
|
||||
" 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")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
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.
|
||||
if exists("*GetMetaPostIndent")
|
||||
@@ -59,151 +22,337 @@ endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Auxiliary Definitions: {{{1
|
||||
function! MetaNextNonblankNoncomment(pos)
|
||||
" Like nextnonblank() but ignore comment lines
|
||||
let tmp = nextnonblank(a:pos)
|
||||
while tmp && getline(tmp) =~ '^\s*%'
|
||||
let tmp = nextnonblank(tmp+1)
|
||||
function GetMetaPostIndent()
|
||||
let ignorecase_save = &ignorecase
|
||||
try
|
||||
let &ignorecase = 0
|
||||
return GetMetaPostIndentIntern()
|
||||
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\|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
|
||||
return tmp
|
||||
return in_string || (c >= 0 && c <= a:pos)
|
||||
endfunction
|
||||
|
||||
function! MetaPrevNonblankNoncomment(pos)
|
||||
" Like prevnonblank() but ignore comment lines
|
||||
let tmp = prevnonblank(a:pos)
|
||||
while tmp && getline(tmp) =~ '^\s*%'
|
||||
let tmp = prevnonblank(tmp-1)
|
||||
" Find the first non-comment non-blank line before the current line.
|
||||
function! s:PrevNonBlankNonComment(lnum)
|
||||
let l:lnum = prevnonblank(a:lnum - 1)
|
||||
while getline(l:lnum) =~# '^\s*%'
|
||||
let l:lnum = prevnonblank(l:lnum - 1)
|
||||
endwhile
|
||||
return tmp
|
||||
return l:lnum
|
||||
endfunction
|
||||
|
||||
function! MetaSearchNoncomment(pattern, ...)
|
||||
" Like search() but ignore commented areas
|
||||
if a:0
|
||||
let flags = a:1
|
||||
elseif &wrapscan
|
||||
let flags = "w"
|
||||
else
|
||||
let flags = "W"
|
||||
endif
|
||||
let cl = line(".")
|
||||
let cc = col(".")
|
||||
let tmp = search(a:pattern, flags)
|
||||
while tmp && synIDattr(synID(line("."), col("."), 1), "name") =~
|
||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
||||
let tmp = search(a:pattern, flags)
|
||||
" Returns true if the last tag appearing in the line is an open tag; returns
|
||||
" false otherwise.
|
||||
function! s:LastTagIsOpen(line)
|
||||
let o = s:LastValidMatchEnd(a:line, g:mp_open_tag, 0)
|
||||
if o == - 1 | return v:false | endif
|
||||
return s:LastValidMatchEnd(a:line, g:mp_close_tag, o) < 0
|
||||
endfunction
|
||||
|
||||
" A simple, efficient and quite effective heuristics is used to test whether
|
||||
" a line should cause the next line to be indented: count the "opening tags"
|
||||
" (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||
" ...) in the line, and compute the difference. We call the result the
|
||||
" "weight" of the line. If the weight is positive, then the next line should
|
||||
" most likely be indented. Note that `else` and `elseif` are both opening and
|
||||
" 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
|
||||
if !tmp
|
||||
call cursor(cl,cc)
|
||||
let [c, i] = [0, matchend(a:line, '^\s*\<else\%[if]\>')] " Skip a leading else[if]
|
||||
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
|
||||
return tmp
|
||||
return a:curr_indent
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
function! GetMetaPostIndent()
|
||||
" not indent in comment ???
|
||||
if synIDattr(synID(line("."), col("."), 1), "name") =~
|
||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
||||
" Main function {{{
|
||||
"
|
||||
" 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:
|
||||
"
|
||||
" 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()
|
||||
" Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
||||
if synIDattr(synID(v:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
||||
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
|
||||
" 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 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
|
||||
unlet s:keepcpo
|
||||
|
||||
@@ -92,11 +92,12 @@ let s:end_skip_expr = s:skip_expr .
|
||||
\ ' && getline(".") =~ "^\\s*\\<\\(while\\|until\\|for\\):\\@!\\>")'
|
||||
|
||||
" Regex that defines continuation lines, not including (, {, or [.
|
||||
let s:non_bracket_continuation_regex = '\%([\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
let s:non_bracket_continuation_regex =
|
||||
\ '\%([\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|:\@<![^[:alnum:]:][|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
|
||||
" Regex that defines continuation lines.
|
||||
let s:continuation_regex =
|
||||
\ '\%(%\@<![({[\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
\ '\%(%\@<![({[\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|:\@<![^[:alnum:]:][|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
|
||||
" Regex that defines continuable keywords
|
||||
let s:continuable_regex =
|
||||
@@ -389,7 +390,7 @@ function! s:FindContainingClass()
|
||||
call setpos('.', saved_position)
|
||||
return found_lnum
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
call setpos('.', saved_position)
|
||||
return 0
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
" Vim Keymap file for kazakh characters, layout 'jcuken', classical variant
|
||||
|
||||
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
|
||||
" Maintainer: Darkhan Kubigenov <darkhanu@gmail.com>
|
||||
" Last Changed: 2016 Oct 25
|
||||
|
||||
" All characters are given literally, conversion to another encoding (e.g.,
|
||||
" UTF-8) should work.
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "kk"
|
||||
|
||||
loadkeymap
|
||||
~ ) CYRILLIC CAPITAL LETTER IO
|
||||
` ( CYRILLIC SMALL LETTER IO
|
||||
F А CYRILLIC CAPITAL LETTER A
|
||||
< Б CYRILLIC CAPITAL LETTER BE
|
||||
D В CYRILLIC CAPITAL LETTER VE
|
||||
U Г CYRILLIC CAPITAL LETTER GHE
|
||||
L Д CYRILLIC CAPITAL LETTER DE
|
||||
T Е CYRILLIC CAPITAL LETTER IE
|
||||
: Ж CYRILLIC CAPITAL LETTER ZHE
|
||||
P З CYRILLIC CAPITAL LETTER ZE
|
||||
B И CYRILLIC CAPITAL LETTER I
|
||||
Q Й CYRILLIC CAPITAL LETTER SHORT I
|
||||
R К CYRILLIC CAPITAL LETTER KA
|
||||
K Л CYRILLIC CAPITAL LETTER EL
|
||||
V М CYRILLIC CAPITAL LETTER EM
|
||||
Y Н CYRILLIC CAPITAL LETTER EN
|
||||
J О CYRILLIC CAPITAL LETTER O
|
||||
G П CYRILLIC CAPITAL LETTER PE
|
||||
H Р CYRILLIC CAPITAL LETTER ER
|
||||
C С CYRILLIC CAPITAL LETTER ES
|
||||
N Т CYRILLIC CAPITAL LETTER TE
|
||||
E У CYRILLIC CAPITAL LETTER U
|
||||
A Ф CYRILLIC CAPITAL LETTER EF
|
||||
{ Х CYRILLIC CAPITAL LETTER HA
|
||||
W Ц CYRILLIC CAPITAL LETTER TSE
|
||||
X Ч CYRILLIC CAPITAL LETTER CHE
|
||||
I Ш CYRILLIC CAPITAL LETTER SHA
|
||||
O Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
S Ы CYRILLIC CAPITAL LETTER YERU
|
||||
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
\" Э CYRILLIC CAPITAL LETTER E
|
||||
> Ю CYRILLIC CAPITAL LETTER YU
|
||||
Z Я CYRILLIC CAPITAL LETTER YA
|
||||
f а CYRILLIC SMALL LETTER A
|
||||
, б CYRILLIC SMALL LETTER BE
|
||||
d в CYRILLIC SMALL LETTER VE
|
||||
u г CYRILLIC SMALL LETTER GHE
|
||||
l д CYRILLIC SMALL LETTER DE
|
||||
t е CYRILLIC SMALL LETTER IE
|
||||
; ж CYRILLIC SMALL LETTER ZHE
|
||||
p з CYRILLIC SMALL LETTER ZE
|
||||
b и CYRILLIC SMALL LETTER I
|
||||
q й CYRILLIC SMALL LETTER SHORT I
|
||||
r к CYRILLIC SMALL LETTER KA
|
||||
k л CYRILLIC SMALL LETTER EL
|
||||
v м CYRILLIC SMALL LETTER EM
|
||||
y н CYRILLIC SMALL LETTER EN
|
||||
j о CYRILLIC SMALL LETTER O
|
||||
g п CYRILLIC SMALL LETTER PE
|
||||
h р CYRILLIC SMALL LETTER ER
|
||||
c с CYRILLIC SMALL LETTER ES
|
||||
n т CYRILLIC SMALL LETTER TE
|
||||
e у CYRILLIC SMALL LETTER U
|
||||
a ф CYRILLIC SMALL LETTER EF
|
||||
[ х CYRILLIC SMALL LETTER HA
|
||||
w ц CYRILLIC SMALL LETTER TSE
|
||||
x ч CYRILLIC SMALL LETTER CHE
|
||||
i ш CYRILLIC SMALL LETTER SHA
|
||||
o щ CYRILLIC SMALL LETTER SHCHA
|
||||
] ъ CYRILLIC SMALL LETTER HARD SIGN
|
||||
s ы CYRILLIC SMALL LETTER YERU
|
||||
m ь CYRILLIC SMALL LETTER SOFT SIGN
|
||||
' э CYRILLIC SMALL LETTER E
|
||||
. ю CYRILLIC SMALL LETTER YU
|
||||
z я CYRILLIC SMALL LETTER YA
|
||||
@ Ә CYRILLIC CAPITAL LETTER SCHWA
|
||||
# І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
$ Ң CYRILLIC CAPITAL LETTER EN WITH DESCENDER
|
||||
% Ғ CYRILLIC CAPITAL LETTER GHE WITH STROKE
|
||||
^ ;
|
||||
& :
|
||||
* Ү CYRILLIC CAPITAL LETTER STRAIGHT U
|
||||
( Ұ CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
|
||||
) Қ CYRILLIC CAPITAL LETTER KA WITH DESCENDER
|
||||
_ Ө CYRILLIC CAPITAL LETTER BARRED O
|
||||
+ Һ CYRILLIC CAPITAL LETTER SHHA
|
||||
1 "
|
||||
2 ә CYRILLIC SMALL LETTER SCHWA
|
||||
3 і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
4 ң CYRILLIC SMALL LETTER EN WITH DESCENDER
|
||||
5 ғ CYRILLIC SMALL LETTER GHE WITH STROKE
|
||||
6 ,
|
||||
7 .
|
||||
8 ү CYRILLIC SMALL LETTER STRAIGHT U
|
||||
9 ұ CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
|
||||
0 қ CYRILLIC SMALL LETTER KA WITH DESCENDER
|
||||
- ө CYRILLIC SMALL LETTER BARRED O
|
||||
= һ CYRILLIC SMALL LETTER SHHA
|
||||
@@ -1,7 +1,7 @@
|
||||
" Menu Translations: Slovenian / Slovensko
|
||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Last Change: Sat, 17 Jun 2006
|
||||
" Last Change: 2016 Oct 17
|
||||
" vim:set foldmethod=marker tabstop=8:
|
||||
|
||||
" TODO: add/check all '&'s
|
||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
||||
|
||||
if has("diff")
|
||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||
endif
|
||||
" }}} FILE / DATOTEKA
|
||||
|
||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop
|
||||
menutrans Te&xt\ Width\.\.\. Širina\ besedila\ \.\.\.
|
||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||
menutrans &Keymap &Keymap
|
||||
menutrans &Keymap Razporeditev\ tip&k
|
||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||
" }}} EDIT / UREDI
|
||||
|
||||
" {{{ TOOLS / ORODJA
|
||||
menutrans &Tools &Orodja
|
||||
menutrans &Tools O&rodja
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoèi\ k\ tej\ znaèki<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Skoèi\ Na&zaj<Tab>^T
|
||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ znaèkami\ (tag)
|
||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||
" }}} TOOLS / ORODJA
|
||||
|
||||
" {{{ SYNTAX / BARVANJE KODE
|
||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
||||
" {{{ POPUP
|
||||
menutrans &Undo &Razveljavi
|
||||
menutrans Cu&t &Izreži
|
||||
menutrans &Copy &Kopieraj
|
||||
menutrans &Copy &Kopiraj
|
||||
menutrans &Paste &Prilepi
|
||||
menutrans &Delete &Zbriši
|
||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Menu Translations: Slovenian / Slovensko
|
||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Last Change: Mon, 12 Jun 2006 00:00:00 CEST
|
||||
" Last Change: 2016 Oct 17
|
||||
" vim:set foldmethod=marker tabstop=8:
|
||||
|
||||
" TODO: add/check all '&'s
|
||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
||||
|
||||
if has("diff")
|
||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||
endif
|
||||
" }}} FILE / DATOTEKA
|
||||
|
||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop
|
||||
menutrans Te&xt\ Width\.\.\. ©irina\ besedila\ \.\.\.
|
||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||
menutrans &Keymap &Keymap
|
||||
menutrans &Keymap Razporeditev\ tip&k
|
||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||
" }}} EDIT / UREDI
|
||||
|
||||
" {{{ TOOLS / ORODJA
|
||||
menutrans &Tools &Orodja
|
||||
menutrans &Tools O&rodja
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoèi\ k\ tej\ znaèki<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Skoèi\ Na&zaj<Tab>^T
|
||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ znaèkami\ (tag)
|
||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||
" }}} TOOLS / ORODJA
|
||||
|
||||
" {{{ SYNTAX / BARVANJE KODE
|
||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
||||
" {{{ POPUP
|
||||
menutrans &Undo &Razveljavi
|
||||
menutrans Cu&t &Izre¾i
|
||||
menutrans &Copy &Kopieraj
|
||||
menutrans &Copy &Kopiraj
|
||||
menutrans &Paste &Prilepi
|
||||
menutrans &Delete &Zbri¹i
|
||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Menu Translations: Slovenian / Slovensko
|
||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||
" Last Change: Sat, 17 Jun 2006
|
||||
" Last Change: 2016 Oct 17
|
||||
" vim:set foldmethod=marker tabstop=8:
|
||||
|
||||
" TODO: add/check all '&'s
|
||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
||||
|
||||
if has("diff")
|
||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||
endif
|
||||
" }}} FILE / DATOTEKA
|
||||
|
||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop Širina\ &tabulatorja
|
||||
menutrans Te&xt\ Width\.\.\. Širina\ besedila\ \.\.\.
|
||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||
menutrans &Keymap &Keymap
|
||||
menutrans &Keymap Razporeditev\ tip&k
|
||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||
" }}} EDIT / UREDI
|
||||
|
||||
" {{{ TOOLS / ORODJA
|
||||
menutrans &Tools &Orodja
|
||||
menutrans &Tools O&rodja
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoči\ k\ tej\ znački<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Skoči\ Na&zaj<Tab>^T
|
||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ značkami\ (tag)
|
||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||
" }}} TOOLS / ORODJA
|
||||
|
||||
" {{{ SYNTAX / BARVANJE KODE
|
||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
||||
" {{{ POPUP
|
||||
menutrans &Undo &Razveljavi
|
||||
menutrans Cu&t &Izreži
|
||||
menutrans &Copy &Kopieraj
|
||||
menutrans &Copy &Kopiraj
|
||||
menutrans &Paste &Prilepi
|
||||
menutrans &Delete &Zbriši
|
||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||
|
||||
+32
-5
@@ -389,19 +389,46 @@ endfun
|
||||
|
||||
" get NL separated string with file names
|
||||
let s:n = globpath(&runtimepath, "colors/*.vim")
|
||||
let s:n .= globpath(&packpath, "pack/*/{opt,start}/*/colors/*.vim")
|
||||
|
||||
" split at NL, Ignore case for VMS and windows, sort on name
|
||||
let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
|
||||
" define all the submenu entries
|
||||
let s:idx = 100
|
||||
let s:cs_idx = 100
|
||||
for s:name in s:names
|
||||
exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
||||
let s:idx = s:idx + 10
|
||||
exe "an 20.450." . s:cs_idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
endfor
|
||||
unlet s:name s:names s:n s:idx
|
||||
exe "an 20.450." . s:cs_idx . ' &Edit.C&olor\ Scheme.-SEP- <Nop>'
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
exe "an <silent> 20.450." . s:cs_idx '&Edit.C&olor\ Scheme.Find\ More\ Color\ Schemes' ":call <SID>Colorschemes()<CR>"
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
unlet s:name s:names s:n
|
||||
|
||||
let s:undo_colorschemes = ['aun &Edit.C&olor\ Scheme.Find\ More\ Color\ Schemes']
|
||||
func! s:Colorschemes()
|
||||
for cmd in s:undo_colorschemes
|
||||
exe "silent! " . cmd
|
||||
endfor
|
||||
let s:undo_colorschemes = []
|
||||
|
||||
let s = globpath(&packpath, "pack/*/{opt,start}/*/colors/*.vim")
|
||||
let names = sort(map(split(s, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
let n = s:cs_idx
|
||||
for name in names
|
||||
let menuname = '&Edit.C&olor\ Scheme.' . name
|
||||
exe 'an 20.450.' . n . ' ' . menuname . " :colors " . name . "<CR>"
|
||||
let s:undo_colorschemes += ['aun ' . menuname]
|
||||
let n += 10
|
||||
endfor
|
||||
if empty(names)
|
||||
echomsg "Could not find other color schemes"
|
||||
elseif len(names) == 1
|
||||
echomsg "Found color scheme " . names[0]
|
||||
else
|
||||
echomsg "Found " . len(names) . " more color schemes"
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Setup the Edit.Keymap submenu
|
||||
if has("keymap")
|
||||
|
||||
+10
-2
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for editing compressed files.
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2010 Mar 10
|
||||
" Last Change: 2016 Oct 30
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded
|
||||
@@ -20,25 +20,33 @@ augroup gzip
|
||||
"
|
||||
" Set binary mode before reading the file.
|
||||
" Use "gzip -d", gunzip isn't always available.
|
||||
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin
|
||||
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst setlocal bin
|
||||
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
|
||||
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
|
||||
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
|
||||
autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d")
|
||||
autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d")
|
||||
autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d")
|
||||
autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm")
|
||||
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
|
||||
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
|
||||
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
|
||||
autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
|
||||
autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z")
|
||||
autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip")
|
||||
autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm")
|
||||
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
|
||||
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
|
||||
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
|
||||
autocmd FileAppendPre *.lzma call gzip#appre("lzma -d")
|
||||
autocmd FileAppendPre *.xz call gzip#appre("xz -d")
|
||||
autocmd FileAppendPre *.lz call gzip#appre("lzip -d")
|
||||
autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm")
|
||||
autocmd FileAppendPost *.gz call gzip#write("gzip")
|
||||
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
|
||||
autocmd FileAppendPost *.Z call gzip#write("compress -f")
|
||||
autocmd FileAppendPost *.lzma call gzip#write("lzma -z")
|
||||
autocmd FileAppendPost *.xz call gzip#write("xz -z")
|
||||
autocmd FileAppendPost *.lz call gzip#write("lzip")
|
||||
autocmd FileAppendPost *.zst call gzip#write("zstd --rm")
|
||||
augroup END
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" zipPlugin.vim: Handles browsing zipfiles
|
||||
" PLUGIN PORTION
|
||||
" Date: Jun 07, 2013
|
||||
" Date: Sep 13, 2016
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
||||
" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,14 +20,14 @@
|
||||
if &cp || exists("g:loaded_zipPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zipPlugin = "v27"
|
||||
let g:loaded_zipPlugin = "v28"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Options: {{{1
|
||||
if !exists("g:zipPlugin_ext")
|
||||
let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,*.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,*.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,*.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx'
|
||||
let g:zipPlugin_ext='*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -34,7 +34,7 @@ syn match aveNumber "[+-]\=\<[0-9]\+\>"
|
||||
" Operator
|
||||
|
||||
syn keyword aveOperator or and max min xor mod by
|
||||
" 'not' is a kind of a problem: Its an Operator as well as a method
|
||||
" 'not' is a kind of a problem: It's an Operator as well as a method
|
||||
" 'not' is only marked as an Operator if not applied as method
|
||||
syn match aveOperator "[^\.]not[^a-zA-Z]"
|
||||
|
||||
|
||||
@@ -2,14 +2,12 @@
|
||||
" Language: AVR Assembler (AVRA)
|
||||
" AVRA Home: http://avra.sourceforge.net/index.html
|
||||
" AVRA Version: 1.3.0
|
||||
" Last Update: 2016 Oct 7
|
||||
" Maintainer: Marius Ghita <mhitza@gmail.com>
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=a-z,A-Z,48-57,.,_
|
||||
" 'isident' is a global option, better not set it
|
||||
" setlocal isident=a-z,A-Z,48-57,.,_
|
||||
syn case ignore
|
||||
|
||||
syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14
|
||||
|
||||
+24
-24
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Jul 07
|
||||
" Last Change: 2016 Nov 17
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -358,36 +358,36 @@ if !exists("c_no_c99") " ISO C99
|
||||
endif
|
||||
|
||||
" Accept %: for # (C99)
|
||||
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
|
||||
syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>"
|
||||
if !exists("c_no_if0")
|
||||
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
||||
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||
syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\zs\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||
else
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
endif
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
||||
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*\(else\|elif\)" end="^\s*\zs\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
||||
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\zs\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
syn region cCppInElse contained start="^\s*\zs\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
syn region cCppInElse contained start="^\s*\zs\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
endif
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\zs\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\zs\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
syn region cCppOutSkip contained start="^\s*\zs\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\zs\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\zs\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\zs\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
|
||||
endif
|
||||
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match cIncluded display contained "<[^>]*>"
|
||||
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
||||
syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
||||
"syn match cLineSkip "\\$"
|
||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
|
||||
syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
|
||||
" Highlight User Labels
|
||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||
@@ -396,21 +396,21 @@ if s:ft ==# 'c' || exists("cpp_no_cpp11")
|
||||
endif
|
||||
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
|
||||
syn cluster cLabelGroup contains=cUserLabel
|
||||
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup
|
||||
if s:ft ==# 'cpp'
|
||||
syn match cUserCont display "^\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display "^\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
else
|
||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
endif
|
||||
|
||||
syn match cUserLabel display "\I\i*" contained
|
||||
|
||||
" Avoid recognizing most bitfields as labels
|
||||
syn match cBitField display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||
syn match cBitField display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||
syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||
syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||
|
||||
if exists("c_minlines")
|
||||
let b:c_minlines = c_minlines
|
||||
|
||||
Binary file not shown.
+74
-41
@@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2006-08-10
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 16
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,65 +14,93 @@ unlet b:current_syntax
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if !exists('g:context_include')
|
||||
let g:context_include = ['mp', 'javascript', 'xml']
|
||||
" Dictionary of (filetype, group) pairs to highlight between \startGROUP \stopGROUP.
|
||||
let s:context_include = get(b:, 'context_include', get(g:, 'context_include', {'xml': 'XML'}))
|
||||
|
||||
" For backward compatibility (g:context_include used to be a List)
|
||||
if type(s:context_include) ==# type([])
|
||||
let g:context_metapost = (index(s:context_include, 'mp') != -1)
|
||||
let s:context_include = filter(
|
||||
\ {'c': 'C', 'javascript': 'JS', 'ruby': 'Ruby', 'xml': 'XML'},
|
||||
\ { k,_ -> index(s:context_include, k) != -1 }
|
||||
\ )
|
||||
endif
|
||||
|
||||
syn iskeyword @,48-57,a-z,A-Z,192-255
|
||||
|
||||
syn spell toplevel
|
||||
|
||||
syn match contextBlockDelim display '\\\%(start\|stop\)\a\+'
|
||||
\ contains=@NoSpell
|
||||
" ConTeXt options, i.e., [...] blocks
|
||||
syn region contextOptions matchgroup=contextDelimiter start='\[' end=']\|\ze\\stop' skip='\\\[\|\\\]' contains=ALLBUT,contextBeginEndLua,@Spell
|
||||
|
||||
syn region contextEscaped display matchgroup=contextPreProc
|
||||
\ start='\\type\z(\A\)' end='\z1'
|
||||
syn region contextEscaped display matchgroup=contextPreProc
|
||||
\ start='\\type\={' end='}'
|
||||
syn region contextEscaped display matchgroup=contextPreProc
|
||||
\ start='\\type\=<<' end='>>'
|
||||
" Highlight braces
|
||||
syn match contextDelimiter '[{}]'
|
||||
|
||||
" Comments
|
||||
syn match contextComment '\\\@<!\%(\\\\\)*\zs%.*$' display contains=initexTodo
|
||||
syn match contextComment '^\s*%[CDM].*$' display contains=initexTodo
|
||||
|
||||
syn match contextBlockDelim '\\\%(start\|stop\)\a\+' contains=@NoSpell
|
||||
|
||||
syn region contextEscaped matchgroup=contextPreProc start='\\type\%(\s*\|\n\)*\z([^A-Za-z%]\)' end='\z1'
|
||||
syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s\|\n\)*{' end='}'
|
||||
syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s*\|\n\)*<<' end='>>'
|
||||
syn region contextEscaped matchgroup=contextPreProc
|
||||
\ start='\\start\z(\a*\%(typing\|typen\)\)'
|
||||
\ end='\\stop\z1' contains=plaintexComment keepend
|
||||
syn region contextEscaped display matchgroup=contextPreProc
|
||||
\ start='\\\h\+Type{' end='}'
|
||||
syn region contextEscaped display matchgroup=contextPreProc
|
||||
\ start='\\Typed\h\+{' end='}'
|
||||
syn region contextEscaped matchgroup=contextPreProc start='\\\h\+Type\%(\s\|\n\)*{' end='}'
|
||||
syn region contextEscaped matchgroup=contextPreProc start='\\Typed\h\+\%(\s\|\n\)*{' end='}'
|
||||
|
||||
syn match contextBuiltin display contains=@NoSpell
|
||||
\ '\\\%(unprotect\|protect\|unexpanded\)'
|
||||
\ '\\\%(unprotect\|protect\|unexpanded\)\>'
|
||||
|
||||
syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
|
||||
syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\)\>'
|
||||
\ contains=@NoSpell
|
||||
|
||||
if index(g:context_include, 'mp') != -1
|
||||
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
let b:mp_metafun_macros = 1 " Highlight MetaFun keywords
|
||||
syn include @mpTop syntax/mp.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn region contextMPGraphic transparent matchgroup=contextBlockDelim
|
||||
\ start='\\start\z(\a*MPgraphic\|MP\%(page\|inclusions\|run\)\).*'
|
||||
syn region contextMPGraphic matchgroup=contextBlockDelim
|
||||
\ start='\\start\z(MP\%(clip\|code\|definitions\|drawing\|environment\|extensions\|inclusions\|initializations\|page\|\)\)\>.*$'
|
||||
\ end='\\stop\z1'
|
||||
\ contains=@mpTop
|
||||
\ contains=@mpTop,@NoSpell
|
||||
syn region contextMPGraphic matchgroup=contextBlockDelim
|
||||
\ start='\\start\z(\%(\%[re]usable\|use\|unique\|static\)MPgraphic\|staticMPfigure\|uniqueMPpagegraphic\)\>.*$'
|
||||
\ end='\\stop\z1'
|
||||
\ contains=@mpTop,@NoSpell
|
||||
endif
|
||||
|
||||
" TODO: also need to implement this for \\typeC or something along those
|
||||
" lines.
|
||||
function! s:include_syntax(name, group)
|
||||
if index(g:context_include, a:name) != -1
|
||||
execute 'syn include @' . a:name . 'Top' 'syntax/' . a:name . '.vim'
|
||||
unlet b:current_syntax
|
||||
execute 'syn region context' . a:group . 'Code'
|
||||
\ 'transparent matchgroup=contextBlockDelim'
|
||||
\ 'start=+\\start' . a:group . '+ end=+\\stop' . a:group . '+'
|
||||
\ 'contains=@' . a:name . 'Top'
|
||||
endif
|
||||
endfunction
|
||||
if get(b:, 'context_lua', get(g:, 'context_lua', 1))
|
||||
syn include @luaTop syntax/lua.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
call s:include_syntax('c', 'C')
|
||||
call s:include_syntax('ruby', 'Ruby')
|
||||
call s:include_syntax('javascript', 'JS')
|
||||
call s:include_syntax('xml', 'XML')
|
||||
syn region contextLuaCode matchgroup=contextBlockDelim
|
||||
\ start='\\startluacode\>'
|
||||
\ end='\\stopluacode\>' keepend
|
||||
\ contains=@luaTop,@NoSpell
|
||||
|
||||
syn match contextSectioning '\\chapter\>' contains=@NoSpell
|
||||
syn match contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell
|
||||
syn match contextDirectLua "\\\%(directlua\|ctxlua\)\>\%(\s*%.*$\)\="
|
||||
\ nextgroup=contextBeginEndLua skipwhite skipempty
|
||||
\ contains=initexComment
|
||||
syn region contextBeginEndLua matchgroup=contextSpecial
|
||||
\ start="{" end="}" skip="\\[{}]"
|
||||
\ contained contains=@luaTop,@NoSpell
|
||||
endif
|
||||
|
||||
for synname in keys(s:context_include)
|
||||
execute 'syn include @' . synname . 'Top' 'syntax/' . synname . '.vim'
|
||||
unlet b:current_syntax
|
||||
execute 'syn region context' . s:context_include[synname] . 'Code'
|
||||
\ 'matchgroup=contextBlockDelim'
|
||||
\ 'start=+\\start' . s:context_include[synname] . '+'
|
||||
\ 'end=+\\stop' . s:context_include[synname] . '+'
|
||||
\ 'contains=@' . synname . 'Top,@NoSpell'
|
||||
endfor
|
||||
|
||||
syn match contextSectioning '\\\%(start\|stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>'
|
||||
\ contains=@NoSpell
|
||||
|
||||
syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
|
||||
\ contains=@NoSpell
|
||||
@@ -92,15 +121,19 @@ syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>'
|
||||
syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
|
||||
\ contains=@NoSpell
|
||||
|
||||
hi def link contextOptions Typedef
|
||||
hi def link contextComment Comment
|
||||
hi def link contextBlockDelim Keyword
|
||||
hi def link contextBuiltin Keyword
|
||||
hi def link contextDelimiter Delimiter
|
||||
hi def link contextEscaped String
|
||||
hi def link contextPreProc PreProc
|
||||
hi def link contextSectioning PreProc
|
||||
hi def link contextSpecial Special
|
||||
hi def link contextType Type
|
||||
hi def link contextStyle contextType
|
||||
hi def link contextFont contextType
|
||||
hi def link contextDirectLua Keyword
|
||||
|
||||
let b:current_syntax = "context"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2016 Jul 07
|
||||
" Last Change: 2016 Oct 28
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -31,7 +31,7 @@ syn keyword cppConstant __cplusplus
|
||||
" C++ 11 extensions
|
||||
if !exists("cpp_no_cpp11")
|
||||
syn keyword cppModifier override final
|
||||
syn keyword cppType nullptr_t
|
||||
syn keyword cppType nullptr_t auto
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype thread_local
|
||||
syn keyword cppConstant nullptr
|
||||
@@ -46,7 +46,11 @@ endif
|
||||
|
||||
" C++ 14 extensions
|
||||
if !exists("cpp_no_cpp14")
|
||||
syn match cppNumber display "\<0b[01]\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
syn case ignore
|
||||
syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
syn case match
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" 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
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -39,7 +39,7 @@ let s:unsupported = [
|
||||
let &cpo=s:cpo
|
||||
|
||||
" 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 debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
" Vim syntax file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: 0.98
|
||||
" Last Change: 2016 Aug. 29
|
||||
" Version: 100
|
||||
" Last Change: 2016 Oct. 29
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-syntax from Vim
|
||||
" Credits:
|
||||
" Version 0.1 (April 2000) was based on the fortran 77 syntax file by Mario Eusebio and
|
||||
" Preben Guldberg. Since then, useful suggestions and contributions have been made,
|
||||
" in chronological order, by:
|
||||
" Version 0.1 (April 2000) for Fortran 95 was based on the Fortran 77 syntax file by
|
||||
" Mario Eusebio and Preben Guldberg. Since then, useful suggestions and contributions
|
||||
" have been made, in chronological order, by:
|
||||
" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
|
||||
" Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
||||
" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann,
|
||||
" Stefano Zaghi and Vishnu V. Krishnan.
|
||||
" Stefano Zaghi, Vishnu V. Krishnan and Judicaël Grasset
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -368,7 +368,7 @@ else
|
||||
endif
|
||||
|
||||
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
|
||||
syn match fortranOpenMP excludenl "^\s*!\$\(OMP\)\=\s.*$"
|
||||
syn match fortranOpenMP excludenl "^\s*!\$\(OMP\)\=&\=\s.*$"
|
||||
|
||||
"cpp is often used with Fortran
|
||||
syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*"
|
||||
@@ -397,6 +397,7 @@ if exists("fortran_fold")
|
||||
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||
syn region fortranAssociate transparent fold keepend start="^\s*\<associate\s\+" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*associate" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction
|
||||
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
||||
else
|
||||
@@ -406,6 +407,7 @@ if exists("fortran_fold")
|
||||
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||
syn region fortranAssociate transparent fold keepend start="^\s*\<associate\s\+" skip="^\s*[!#].*$" excludenl end="\<end\s*associate" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction
|
||||
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\s*[!#].*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\s*[!#].*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
||||
endif
|
||||
@@ -415,12 +417,12 @@ if exists("fortran_fold")
|
||||
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(.\+)\s*then\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranCase transparent fold keepend extend start="\<select\s*\(case\|type\)\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
else
|
||||
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\s*[!#].*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(\(.\|&\s*\n\)\+)\(\s\|&\s*\n\)*then\>" skip="^\s*[!#].*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\s*[!#].*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
syn region fortranCase transparent fold keepend extend start="\<select\s*\(case\|type\)\>" skip="^\s*[!#].*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
+241
-130
@@ -1,184 +1,295 @@
|
||||
" Vim syntax file
|
||||
" Language: Metafont
|
||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
" Last Change: April 25, 2001
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" 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")
|
||||
finish
|
||||
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'
|
||||
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'
|
||||
syn keyword mfNumExp normaldeviate length ASCII oct hex angle turningnumber
|
||||
syn keyword mfNumExp totalweight directiontime xpart ypart xxpart xypart
|
||||
syn keyword mfNumExp yxpart yypart sqrt sind cosd mlog mexp floor
|
||||
syn keyword mfNumExp uniformdeviate
|
||||
syn keyword mfNumExp ASCII angle cosd directiontime floor hex length
|
||||
syn keyword mfNumExp mexp mlog normaldeviate oct sind sqrt totalweight
|
||||
syn keyword mfNumExp turningnumber uniformdeviate xpart xxpart xypart
|
||||
syn keyword mfNumExp ypart yxpart yypart
|
||||
|
||||
" Page 211: 'internal quantities'
|
||||
syn keyword mfInternal tracingtitles tracingequations tracingcapsules
|
||||
syn keyword mfInternal tracingchoices tracingspecs tracingpens
|
||||
syn keyword mfInternal tracingcommands tracingrestores tracingmacros
|
||||
syn keyword mfInternal tracingedges tracingoutput tracingonline tracingstats
|
||||
syn keyword mfInternal pausing showstopping fontmaking proofing
|
||||
syn keyword mfInternal turningcheck warningcheck smoothing autorounding
|
||||
syn keyword mfInternal granularity fillin year month day time
|
||||
syn keyword mfInternal charcode charext charwd charht chardp charic
|
||||
syn keyword mfInternal chardx chardy designsize hppp vppp xoffset yoffset
|
||||
syn keyword mfInternal boundarychar
|
||||
syn keyword mfInternal autorounding boundarychar charcode chardp chardx
|
||||
syn keyword mfInternal chardy charext charht charic charwd day designsize
|
||||
syn keyword mfInternal fillin fontmaking granularity hppp jobname month
|
||||
syn keyword mfInternal pausing proofing showstopping smoothing time
|
||||
syn keyword mfInternal tracingcapsules tracingchoices tracingcommands
|
||||
syn keyword mfInternal tracingedges tracingequations tracingmacros
|
||||
syn keyword mfInternal tracingonline tracingoutput tracingpens
|
||||
syn keyword mfInternal tracingrestores tracingspecs tracingstats
|
||||
syn keyword mfInternal tracingtitles turningcheck vppp warningcheck
|
||||
syn keyword mfInternal xoffset year yoffset
|
||||
|
||||
" Page 212: 'pair expressions'
|
||||
syn keyword mfPairExp point of precontrol postcontrol penoffset rotated
|
||||
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
||||
syn keyword mfPairExp zscaled
|
||||
syn keyword mfPairExp of penoffset point postcontrol precontrol rotated
|
||||
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
||||
syn keyword mfPairExp zscaled
|
||||
|
||||
" Page 213: 'path expressions'
|
||||
syn keyword mfPathExp makepath reverse subpath curl tension atleast
|
||||
syn keyword mfPathExp controls cycle
|
||||
syn keyword mfPathExp atleast controls curl cycle makepath reverse
|
||||
syn keyword mfPathExp subpath tension
|
||||
|
||||
" Page 214: 'pen expressions'
|
||||
syn keyword mfPenExp nullpen pencircle makepen
|
||||
syn keyword mfPenExp makepen nullpen pencircle
|
||||
|
||||
" Page 214: 'picutre expressions'
|
||||
syn keyword mfPicExp nullpicture
|
||||
" Page 214: 'picture expressions'
|
||||
syn keyword mfPicExp nullpicture
|
||||
|
||||
" 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'
|
||||
syn keyword mfCommand end dump save interim newinternal randomseed let
|
||||
syn keyword mfCommand delimiters outer everyjob show showvariable showtoken
|
||||
syn keyword mfCommand showdependencies showstats message errmessage errhelp
|
||||
syn keyword mfCommand batchmode nonstopmode scrollmode errorstopmode
|
||||
syn keyword mfCommand addto also contour doublepath withpen withweight cull
|
||||
syn keyword mfCommand keeping dropping display inwindow openwindow at from to
|
||||
syn keyword mfCommand shipout special numspecial
|
||||
syn keyword mfCommand addto also at batchmode contour cull delimiters
|
||||
syn keyword mfCommand display doublepath dropping dump end errhelp
|
||||
syn keyword mfCommand errmessage errorstopmode everyjob from interim
|
||||
syn keyword mfCommand inwindow keeping let message newinternal
|
||||
syn keyword mfCommand nonstopmode numspecial openwindow outer randomseed
|
||||
syn keyword mfCommand save scrollmode shipout show showdependencies
|
||||
syn keyword mfCommand showstats showtoken showvariable special to withpen
|
||||
syn keyword mfCommand withweight
|
||||
|
||||
" 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'
|
||||
syn keyword mfStatement begingroup endgroup
|
||||
syn keyword mfStatement begingroup endgroup
|
||||
|
||||
" Page 165: 'definitions'
|
||||
syn keyword mfDefinition enddef def expr suffix text primary secondary
|
||||
syn keyword mfDefinition tertiary vardef primarydef secondarydef tertiarydef
|
||||
syn keyword mfDefinition def enddef expr primary primarydef secondary
|
||||
syn keyword mfDefinition secondarydef suffix tertiary tertiarydef text
|
||||
syn keyword mfDefinition vardef
|
||||
|
||||
" Page 169: 'conditions and loops'
|
||||
syn keyword mfCondition if fi else elseif endfor for forsuffixes forever
|
||||
syn keyword mfCondition step until exitif
|
||||
syn keyword mfCondition else elseif endfor exitif fi for forever
|
||||
syn keyword mfCondition forsuffixes if step until
|
||||
|
||||
" Other primitives listed in the index
|
||||
syn keyword mfPrimitive charlist endinput expandafter extensible
|
||||
syn keyword mfPrimitive fontdimen headerbyte inner input intersectiontimes
|
||||
syn keyword mfPrimitive kern ligtable quote scantokens skipto
|
||||
syn keyword mfPrimitive charlist endinput expandafter extensible fontdimen
|
||||
syn keyword mfPrimitive headerbyte inner input intersectiontimes kern
|
||||
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)
|
||||
if !exists("plain_mf_macros")
|
||||
let plain_mf_macros = 1 " Set this to '0' if your source gets too colourful
|
||||
" metapost.vim does so to turn off Metafont macros
|
||||
if get(g:, "plain_mf_macros", 1)
|
||||
syn keyword mfDef addto_currentpicture beginchar capsule_def
|
||||
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
|
||||
if plain_mf_macros
|
||||
syn keyword mfMacro abs addto_currentpicture aspect_ratio base_name
|
||||
syn keyword mfMacro base_version beginchar blacker blankpicture bot bye byte
|
||||
syn keyword mfMacro capsule_def ceiling change_width clear_pen_memory clearit
|
||||
syn keyword mfMacro clearpen clearxy counterclockwise culldraw cullit
|
||||
syn keyword mfMacro currentpen currentpen_path currentpicture
|
||||
syn keyword mfMacro currenttransform currentwindow cutdraw cutoff d decr
|
||||
syn keyword mfMacro define_blacker_pixels define_corrected_pixels
|
||||
syn keyword mfMacro define_good_x_pixels define_good_y_pixels
|
||||
syn keyword mfMacro define_horizontal_corrected_pixels define_pixels
|
||||
syn keyword mfMacro define_whole_blacker_pixels define_whole_pixels
|
||||
syn keyword mfMacro define_whole_vertical_blacker_pixels
|
||||
syn keyword mfMacro define_whole_vertical_pixels dir direction directionpoint
|
||||
syn keyword mfMacro displaying ditto div dotprod down downto draw drawdot
|
||||
syn keyword mfMacro endchar eps epsilon extra_beginchar extra_endchar
|
||||
syn keyword mfMacro extra_setup erase exitunless fill filldraw fix_units flex
|
||||
syn keyword mfMacro font_coding_scheme font_extra_space font_identifier
|
||||
syn keyword mfMacro font_normal_shrink font_normal_space font_normal_stretch
|
||||
syn keyword mfMacro font_quad font_setup font_size font_slant font_x_height
|
||||
syn keyword mfMacro fullcircle generate gfcorners gobble gobbled grayfont h
|
||||
syn keyword mfMacro halfcircle hide hround identity image_rules incr infinity
|
||||
syn keyword mfMacro interact interpath intersectionpoint inverse italcorr
|
||||
syn keyword mfMacro join_radius killtext labelfont labels left lft localfont
|
||||
syn keyword mfMacro loggingall lowres lowres_fix mag magstep makebox makegrid
|
||||
syn keyword mfMacro makelabel maketicks max min mod mode mode_def mode_name
|
||||
syn keyword mfMacro mode_setup nodisplays notransforms number_of_modes numtok
|
||||
syn keyword mfMacro o_correction openit origin pen_bot pen_lft pen_rt pen_top
|
||||
syn keyword mfMacro penlabels penpos penrazor penspeck pensquare penstroke
|
||||
syn keyword mfMacro pickup pixels_per_inch proof proofoffset proofrule
|
||||
syn keyword mfMacro proofrulethickness quartercircle range reflectedabout
|
||||
syn keyword mfMacro relax right rotatedabout rotatedaround round rt rulepen
|
||||
syn keyword mfMacro savepen screenchars screen_rows screen_cols screenrule
|
||||
syn keyword mfMacro screenstrokes shipit showit slantfont smode smoke softjoin
|
||||
syn keyword mfMacro solve stop superellipse takepower tensepath titlefont
|
||||
syn keyword mfMacro tolerance top tracingall tracingnone undraw undrawdot
|
||||
syn keyword mfMacro unfill unfilldraw unitpixel unitsquare unitvector up upto
|
||||
syn keyword mfMacro vround w whatever
|
||||
|
||||
" By default, METAFONT loads modes.mf, too
|
||||
if get(g:, "plain_mf_modes", 1)
|
||||
syn keyword mfConstant APSSixMed AgfaFourZeroZero AgfaThreeFourZeroZero
|
||||
syn keyword mfConstant AtariNineFive AtariNineSix AtariSLMEightZeroFour
|
||||
syn keyword mfConstant AtariSMOneTwoFour CItohEightFiveOneZero
|
||||
syn keyword mfConstant CItohThreeOneZero CanonBJCSixZeroZero CanonCX
|
||||
syn keyword mfConstant CanonEX CanonLBPLX CanonLBPTen CanonSX ChelgraphIBX
|
||||
syn keyword mfConstant CompugraphicEightSixZeroZero
|
||||
syn keyword mfConstant CompugraphicNineSixZeroZero DD DEClarge DECsmall
|
||||
syn keyword mfConstant DataDiscNew EightThree EpsonAction
|
||||
syn keyword mfConstant EpsonLQFiveZeroZeroLo EpsonLQFiveZeroZeroMed
|
||||
syn keyword mfConstant EpsonMXFX EpsonSQEightSevenZero EpsonStylusPro
|
||||
syn keyword mfConstant EpsonStylusProHigh EpsonStylusProLow
|
||||
syn keyword mfConstant EpsonStylusProMed FourFour GThreefax HPDeskJet
|
||||
syn keyword mfConstant HPLaserJetIIISi IBMFourTwoFiveZero IBMFourTwoOneSix
|
||||
syn keyword mfConstant IBMFourTwoThreeZero IBMFourZeroOneNine
|
||||
syn keyword mfConstant IBMFourZeroThreeNine IBMFourZeroTwoNine
|
||||
syn keyword mfConstant IBMProPrinter IBMSixOneFiveFour IBMSixSixSevenZero
|
||||
syn keyword mfConstant IBMThreeEightOneTwo IBMThreeEightTwoZero
|
||||
syn keyword mfConstant IBMThreeOneNineThree IBMThreeOneSevenNine
|
||||
syn keyword mfConstant IBMUlfHolleberg LASevenFive LNOthreR LNOthree
|
||||
syn keyword mfConstant LNZeroOne LNZeroThree LPSFourZero LPSTwoZero
|
||||
syn keyword mfConstant LexmarkFourZeroThreeNine LexmarkOptraR
|
||||
syn keyword mfConstant LexmarkOptraS LinotypeLThreeThreeZero
|
||||
syn keyword mfConstant LinotypeOneZeroZero LinotypeOneZeroZeroLo
|
||||
syn keyword mfConstant LinotypeThreeZeroZeroHi MacTrueSize NeXTprinter
|
||||
syn keyword mfConstant NeXTscreen NecTwoZeroOne Newgen NineOne
|
||||
syn keyword mfConstant OCESixSevenFiveZeroPS OneTwoZero OneZeroZero
|
||||
syn keyword mfConstant PrintwareSevenTwoZeroIQ Prism QMSOneSevenTwoFive
|
||||
syn keyword mfConstant QMSOneSevenZeroZero QMSTwoFourTwoFive RicohA
|
||||
syn keyword mfConstant RicohFortyEighty RicohFourZeroEightZero RicohLP
|
||||
syn keyword mfConstant SparcPrinter StarNLOneZero VAXstation VTSix
|
||||
syn keyword mfConstant VarityperFiveZeroSixZeroW
|
||||
syn keyword mfConstant VarityperFourThreeZeroZeroHi
|
||||
syn keyword mfConstant VarityperFourThreeZeroZeroLo
|
||||
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
|
||||
|
||||
" Some other basic macro names, e.g., from cmbase, logo, etc.
|
||||
if !exists("other_mf_macros")
|
||||
let other_mf_macros = 1 " Set this to '0' if your code gets too colourful
|
||||
" metapost.vim does so to turn off Metafont macros
|
||||
endif
|
||||
if other_mf_macros
|
||||
syn keyword mfMacro beginlogochar
|
||||
if get(g:, "other_mf_macros", 1)
|
||||
syn keyword mfDef beginlogochar
|
||||
syn keyword mfDef font_setup
|
||||
syn keyword mfPrimitive generate
|
||||
endif
|
||||
|
||||
" Numeric tokens
|
||||
syn match mfNumeric "[-]\=\d\+"
|
||||
syn match mfNumeric "[-]\=\.\d\+"
|
||||
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
||||
syn match mfNumeric "[-]\=\d\+"
|
||||
syn match mfNumeric "[-]\=\.\d\+"
|
||||
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
||||
|
||||
" Metafont lengths
|
||||
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\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
||||
|
||||
" Metafont coordinates and points
|
||||
syn match mfCoord "\<[xy]\d\+\>"
|
||||
syn match mfPoint "\<z\d\+\>"
|
||||
" METAFONT lengths
|
||||
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\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||
|
||||
" String constants
|
||||
syn region mfString start=+"+ end=+"+
|
||||
syn match mfOpenString /"[^"]*/
|
||||
syn region mfString oneline keepend start=+"+ end=+"+
|
||||
|
||||
" Comments:
|
||||
syn match mfComment "%.*$"
|
||||
syn keyword mfTodoComment contained TODO FIXME XXX DEBUG NOTE
|
||||
syn match mfComment "%.*$" contains=mfTodoComment,@Spell
|
||||
|
||||
" synchronizing
|
||||
syn sync maxlines=50
|
||||
|
||||
" 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 mfInternal Identifier
|
||||
hi def link mfPairExp Statement
|
||||
hi def link mfPathExp Statement
|
||||
hi def link mfPenExp Statement
|
||||
hi def link mfPicExp Statement
|
||||
hi def link mfStringExp Statement
|
||||
hi def link mfCommand Statement
|
||||
hi def link mfType Type
|
||||
hi def link mfStatement Statement
|
||||
hi def link mfDefinition Statement
|
||||
hi def link mfCondition Conditional
|
||||
hi def link mfPrimitive Statement
|
||||
hi def link mfMacro Macro
|
||||
hi def link mfCoord Identifier
|
||||
hi def link mfPoint Identifier
|
||||
hi def link mfNumeric Number
|
||||
hi def link mfLength Number
|
||||
hi def link mfComment Comment
|
||||
hi def link mfString String
|
||||
|
||||
hi def link mfBoolExp Statement
|
||||
hi def link mfNumExp Statement
|
||||
hi def link mfPairExp Statement
|
||||
hi def link mfPathExp Statement
|
||||
hi def link mfPenExp Statement
|
||||
hi def link mfPicExp Statement
|
||||
hi def link mfStringExp Statement
|
||||
hi def link mfInternal Identifier
|
||||
hi def link mfCommand Statement
|
||||
hi def link mfType Type
|
||||
hi def link mfStatement Statement
|
||||
hi def link mfDefinition Statement
|
||||
hi def link mfCondition Conditional
|
||||
hi def link mfPrimitive Statement
|
||||
hi def link mfDef Function
|
||||
hi def link mfVardef mfDef
|
||||
hi def link mfPrimaryDef mfDef
|
||||
hi def link mfSecondaryDef mfDef
|
||||
hi def link mfTertiaryDef mfDef
|
||||
hi def link mfCoord Identifier
|
||||
hi def link mfPoint Identifier
|
||||
hi def link mfNumeric Number
|
||||
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"
|
||||
|
||||
" vim: ts=8
|
||||
" vim:sw=2
|
||||
|
||||
+744
-90
@@ -1,115 +1,769 @@
|
||||
" Vim syntax file
|
||||
" Language: MetaPost
|
||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
" Last Change: April 30, 2001
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
" Last Change: 2016 Oct 14
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
|
||||
let other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
|
||||
let s:cpo_sav = &cpo
|
||||
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
|
||||
unlet b:current_syntax " Necessary for syn include below
|
||||
|
||||
" MetaPost has TeX inserts for typeset labels
|
||||
" verbatimtex, btex, and etex will be treated as keywords
|
||||
syn match mpTeXbegin "\(verbatimtex\|btex\)"
|
||||
syn match mpTeXend "etex"
|
||||
syn region mpTeXinsert start="\(verbatimtex\|btex\)"hs=e+1 end="etex"he=s-1 contains=mpTeXbegin,mpTeXend keepend
|
||||
" Restore the value of existing global variables
|
||||
if exists("s:plain_mf_macros")
|
||||
let g:plain_mf_macros = s:plain_mf_macros
|
||||
else
|
||||
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
|
||||
syn keyword mpInternal bluepart clip color dashed fontsize greenpart infont
|
||||
syn keyword mpInternal linecap linejoin llcorner lrcorner miterlimit mpxbreak
|
||||
syn keyword mpInternal prologues redpart setbounds tracinglostchars
|
||||
syn keyword mpInternal truecorners ulcorner urcorner withcolor
|
||||
" Use TeX highlighting inside verbatimtex/btex... etex
|
||||
syn include @MPTeX syntax/tex.vim
|
||||
unlet b:current_syntax
|
||||
" These are defined as keywords rather than using matchgroup
|
||||
" 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
|
||||
syn keyword notDefined autorounding chardx chardy fillin granularity hppp
|
||||
syn keyword notDefined proofing smoothing tracingedges tracingpens
|
||||
syn keyword notDefined turningcheck vppp xoffset yoffset
|
||||
" iskeyword must be set after the syn include above, because tex.vim sets `syn
|
||||
" iskeyword`. Note that keywords do not contain numbers (numbers are
|
||||
" subscripts)
|
||||
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
|
||||
if !exists("plain_mp_macros")
|
||||
let plain_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
||||
endif
|
||||
if plain_mp_macros
|
||||
syn keyword mpMacro ahangle ahlength background bbox bboxmargin beginfig
|
||||
syn keyword mpMacro beveled black blue buildcycle butt center cutafter
|
||||
syn keyword mpMacro cutbefore cuttings dashpattern defaultfont defaultpen
|
||||
syn keyword mpMacro defaultscale dotlabel dotlabels drawarrow drawdblarrow
|
||||
syn keyword mpMacro drawoptions endfig evenly extra_beginfig extra_endfig
|
||||
syn keyword mpMacro green label labeloffset mitered red rounded squared
|
||||
syn keyword mpMacro thelabel white base_name base_version
|
||||
syn keyword mpMacro upto downto exitunless relax gobble gobbled
|
||||
syn keyword mpMacro interact loggingall tracingall tracingnone
|
||||
syn keyword mpMacro eps epsilon infinity right left up down origin
|
||||
syn keyword mpMacro quartercircle halfcircle fullcircle unitsquare identity
|
||||
syn keyword mpMacro blankpicture withdots ditto EOF pensquare penrazor
|
||||
syn keyword mpMacro penspeck whatever abs round ceiling byte dir unitvector
|
||||
syn keyword mpMacro inverse counterclockwise tensepath mod div dotprod
|
||||
syn keyword mpMacro takepower direction directionpoint intersectionpoint
|
||||
syn keyword mpMacro softjoin incr decr reflectedabout rotatedaround
|
||||
syn keyword mpMacro rotatedabout min max flex superellipse interpath
|
||||
syn keyword mpMacro magstep currentpen currentpen_path currentpicture
|
||||
syn keyword mpMacro fill draw filldraw drawdot unfill undraw unfilldraw
|
||||
syn keyword mpMacro undrawdot erase cutdraw image pickup numeric_pickup
|
||||
syn keyword mpMacro pen_lft pen_rt pen_top pen_bot savepen clearpen
|
||||
syn keyword mpMacro clear_pen_memory lft rt top bot ulft urt llft lrt
|
||||
syn keyword mpMacro penpos penstroke arrowhead makelabel labels penlabel
|
||||
syn keyword mpMacro range numtok thru clearxy clearit clearpen pickup
|
||||
syn keyword mpMacro shipit bye hide stop solve
|
||||
if get(g:, "plain_mp_macros", 1) || get(g:, "mp_metafun_macros", 0)
|
||||
syn keyword mpDef beginfig clear_pen_memory clearit clearpen clearpen
|
||||
syn keyword mpDef clearxy colorpart cutdraw downto draw drawarrow
|
||||
syn keyword mpDef drawdblarrow drawdot drawoptions endfig erase
|
||||
syn keyword mpDef exitunless fill filldraw flex gobble hide interact
|
||||
syn keyword mpDef label loggingall makelabel numtok penstroke pickup
|
||||
syn keyword mpDef range reflectedabout rotatedaround shipit
|
||||
syn keyword mpDef stop superellipse takepower tracingall tracingnone
|
||||
syn keyword mpDef undraw undrawdot unfill unfilldraw upto
|
||||
syn match mpDef "???"
|
||||
syn keyword mpVardef arrowhead bbox bot buildcycle byte ceiling center
|
||||
syn keyword mpVardef counterclockwise decr dir direction directionpoint
|
||||
syn keyword mpVardef dotlabel dotlabels image incr interpath inverse
|
||||
syn keyword mpVardef labels lft magstep max min penlabels penpos round
|
||||
syn keyword mpVardef rt savepen solve tensepath thelabel top unitvector
|
||||
syn keyword mpVardef whatever z
|
||||
syn keyword mpPrimaryDef div dotprod gobbled mod
|
||||
syn keyword mpSecondaryDef intersectionpoint
|
||||
syn keyword mpTertiaryDef cutafter cutbefore softjoin thru
|
||||
syn keyword mpNewInternal ahangle ahlength bboxmargin beveled butt defaultpen
|
||||
syn keyword mpNewInternal defaultscale dotlabeldiam eps epsilon infinity
|
||||
syn keyword mpNewInternal join_radius labeloffset mitered pen_bot pen_lft
|
||||
syn keyword mpNewInternal pen_rt pen_top rounded squared tolerance
|
||||
" Predefined constants
|
||||
syn keyword mpConstant EOF background base_name base_version black
|
||||
syn keyword mpConstant blankpicture blue ditto down evenly fullcircle
|
||||
syn keyword mpConstant green halfcircle identity left origin penrazor
|
||||
syn keyword mpConstant penspeck pensquare quartercircle red right
|
||||
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
|
||||
|
||||
" Keywords defined by mfplain.mp
|
||||
if !exists("mfplain_mp_macros")
|
||||
let mfplain_mp_macros = 0 " Set this to '1' to include these macro names
|
||||
endif
|
||||
if mfplain_mp_macros
|
||||
syn keyword mpMacro beginchar blacker capsule_def change_width
|
||||
syn keyword mpMacro define_blacker_pixels define_corrected_pixels
|
||||
syn keyword mpMacro define_good_x_pixels define_good_y_pixels
|
||||
syn keyword mpMacro define_horizontal_corrected_pixels
|
||||
syn keyword mpMacro define_pixels define_whole_blacker_pixels
|
||||
syn keyword mpMacro define_whole_vertical_blacker_pixels
|
||||
syn keyword mpMacro define_whole_vertical_pixels endchar
|
||||
syn keyword mpMacro extra_beginchar extra_endchar extra_setup
|
||||
syn keyword mpMacro font_coding_scheme font_extra_space font_identifier
|
||||
syn keyword mpMacro font_normal_shrink font_normal_space
|
||||
syn keyword mpMacro font_normal_stretch font_quad font_size
|
||||
syn keyword mpMacro font_slant font_x_height italcorr labelfont
|
||||
syn keyword mpMacro makebox makegrid maketicks mode_def mode_setup
|
||||
syn keyword mpMacro o_correction proofrule proofrulethickness rulepen smode
|
||||
|
||||
if get(g:, "mfplain_mp_macros", 0)
|
||||
syn keyword mpDef beginchar capsule_def change_width
|
||||
syn keyword mpDef define_blacker_pixels define_corrected_pixels
|
||||
syn keyword mpDef define_good_x_pixels define_good_y_pixels
|
||||
syn keyword mpDef define_horizontal_corrected_pixels define_pixels
|
||||
syn keyword mpDef define_whole_blacker_pixels define_whole_pixels
|
||||
syn keyword mpDef define_whole_vertical_blacker_pixels
|
||||
syn keyword mpDef define_whole_vertical_pixels endchar
|
||||
syn keyword mpDef font_coding_scheme font_extra_space font_identifier
|
||||
syn keyword mpDef font_normal_shrink font_normal_space
|
||||
syn keyword mpDef font_normal_stretch font_quad font_size font_slant
|
||||
syn keyword mpDef font_x_height italcorr labelfont lowres_fix makebox
|
||||
syn keyword mpDef makegrid maketicks mode_def mode_setup proofrule
|
||||
syn keyword mpDef smode
|
||||
syn keyword mpVardef hround proofrulethickness vround
|
||||
syn keyword mpNewInternal blacker o_correction
|
||||
syn keyword mpVariable extra_beginchar extra_endchar extra_setup rulepen
|
||||
" plus some no-ops, also from mfplain.mp
|
||||
syn keyword mpMacro cullit currenttransform gfcorners grayfont hround
|
||||
syn keyword mpMacro imagerules lowres_fix nodisplays notransforms openit
|
||||
syn keyword mpMacro proofoffset screenchars screenrule screenstrokes
|
||||
syn keyword mpMacro showit slantfont titlefont unitpixel vround
|
||||
syn keyword mpDef cull cullit gfcorners imagerules nodisplays
|
||||
syn keyword mpDef notransforms openit proofoffset screenchars
|
||||
syn keyword mpDef screenrule screenstrokes showit
|
||||
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
|
||||
|
||||
" Keywords defined by other macro packages, e.g., boxes.mp
|
||||
if !exists("other_mp_macros")
|
||||
let other_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
||||
endif
|
||||
if other_mp_macros
|
||||
syn keyword mpMacro circmargin defaultdx defaultdy
|
||||
syn keyword mpMacro boxit boxjoin bpath circleit drawboxed drawboxes
|
||||
syn keyword mpMacro drawunboxed fixpos fixsize pic
|
||||
" Keywords defined by all base macro packages:
|
||||
" - (r)boxes.mp
|
||||
" - format.mp
|
||||
" - graph.mp
|
||||
" - marith.mp
|
||||
" - sarith.mp
|
||||
" - string.mp
|
||||
" - 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
|
||||
|
||||
" Up to date as of 23-Sep-2016.
|
||||
if get(b:, 'mp_metafun_macros', get(g:, 'mp_metafun_macros', 0))
|
||||
" Highlight TeX keywords (for use in ConTeXt documents)
|
||||
syn match mpTeXKeyword '\\[a-zA-Z@]\+'
|
||||
|
||||
" 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
|
||||
" Only when an item doesn't have highlighting yet
|
||||
|
||||
hi def link mpTeXinsert String
|
||||
hi def link mpTeXbegin Statement
|
||||
hi def link mpTeXend Statement
|
||||
hi def link mpInternal mfInternal
|
||||
hi def link mpMacro Macro
|
||||
|
||||
hi def link mpTeXdelim mpPrimitive
|
||||
hi def link mpBoolExp mfBoolExp
|
||||
hi def link mpNumExp mfNumExp
|
||||
hi def link mpPairExp mfPairExp
|
||||
hi def link mpPathExp mfPathExp
|
||||
hi def link mpPenExp mfPenExp
|
||||
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
|
||||
hi def link mpTeXKeyword Identifier
|
||||
|
||||
let b:current_syntax = "mp"
|
||||
|
||||
" vim: ts=8
|
||||
let &cpo = s:cpo_sav
|
||||
unlet! s:cpo_sav
|
||||
|
||||
" vim:sw=2
|
||||
|
||||
+65
-60
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Last Change: 2016 Aug 14
|
||||
" Last Change: 2016 Oct 29
|
||||
" Credits: Neil Schemenauer <nas@python.ca>
|
||||
" Dmitry Vasiliev
|
||||
"
|
||||
@@ -46,6 +46,29 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists("python_no_doctest_highlight")
|
||||
let python_no_doctest_code_highlight = 1
|
||||
endif
|
||||
|
||||
if exists("python_highlight_all")
|
||||
if exists("python_no_builtin_highlight")
|
||||
unlet python_no_builtin_highlight
|
||||
endif
|
||||
if exists("python_no_doctest_code_highlight")
|
||||
unlet python_no_doctest_code_highlight
|
||||
endif
|
||||
if exists("python_no_doctest_highlight")
|
||||
unlet python_no_doctest_highlight
|
||||
endif
|
||||
if exists("python_no_exception_highlight")
|
||||
unlet python_no_exception_highlight
|
||||
endif
|
||||
if exists("python_no_number_highlight")
|
||||
unlet python_no_number_highlight
|
||||
endif
|
||||
let python_space_error_highlight = 1
|
||||
endif
|
||||
|
||||
" Keep Python keywords in alphabetical order inside groups for easy
|
||||
" comparison with the table in the 'Python Language Reference'
|
||||
" https://docs.python.org/2/reference/lexical_analysis.html#keywords,
|
||||
@@ -81,30 +104,31 @@ syn keyword pythonInclude from import
|
||||
syn keyword pythonAsync async await
|
||||
|
||||
" Decorators (new in Python 2.4)
|
||||
" Python 3.5 introduced the use of the same symbol for matrix
|
||||
" multiplication. We now have to exclude the symbol from being
|
||||
" highlighted when used in that context. Hence, the check that it's
|
||||
" preceded by empty space only (possibly in a docstring/doctest) and
|
||||
" followed by decorator name, optional parenthesized list of arguments,
|
||||
" and the next line with either def, class, or another decorator.
|
||||
syn match pythonDecorator
|
||||
\ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\)\zs@\%(\s*\h\%(\w\|\.\)*\%(([^)]*)\)\=\s*\n\s*\%(\.\.\.\s\+\)\=\%(@\s*\h\|\%(def\|class\)\s\+\)\)\@="
|
||||
\ display nextgroup=pythonDecoratorName skipwhite
|
||||
|
||||
" A dot must be allowed because of @MyClass.myfunc decorators.
|
||||
" It must be preceded by a decorator symbol and on a separate line from
|
||||
" a function/class it decorates.
|
||||
syn match pythonDecoratorName
|
||||
\ "\%(@\s*\)\@<=\h\%(\w\|\.\)*\%(\%(([^)]*)\)\=\s*\n\)\@="
|
||||
\ contained display nextgroup=pythonFunction skipnl
|
||||
syn match pythonDecorator "@" display contained
|
||||
syn match pythonDecoratorName "@\s*\h\%(\w\|\.\)*" display contains=pythonDecorator
|
||||
|
||||
" The zero-length non-grouping match of def or class before the function
|
||||
" name is extremely important in pythonFunction. Without it, everything
|
||||
" is interpreted as a function inside the contained environment of
|
||||
" doctests.
|
||||
syn match pythonFunction
|
||||
\ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\%(def\|class\)\s\+\)\@<=\h\w*"
|
||||
\ contained
|
||||
" Python 3.5 introduced the use of the same symbol for matrix multiplication:
|
||||
" https://www.python.org/dev/peps/pep-0465/. We now have to exclude the
|
||||
" symbol from highlighting when used in that context.
|
||||
" Single line multiplication.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "\%(\w\|[])]\)\s*@"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
" Multiplication continued on the next line after backslash.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "[^\\]\\\s*\n\%(\s*\.\.\.\s\)\=\s\+@"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
" Multiplication in a parenthesized expression over multiple lines with @ at
|
||||
" the start of each continued line; very similar to decorators and complex.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "^\s*\%(\%(>>>\|\.\.\.\)\s\+\)\=\zs\%(\h\|\%(\h\|[[(]\).\{-}\%(\w\|[])]\)\)\s*\n\%(\s*\.\.\.\s\)\=\s\+@\%(.\{-}\n\%(\s*\.\.\.\s\)\=\s\+@\)*"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
|
||||
syn match pythonFunction "\h\w*" display contained
|
||||
|
||||
syn match pythonComment "#.*$" contains=pythonTodo,@Spell
|
||||
syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
|
||||
@@ -131,25 +155,6 @@ syn match pythonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
|
||||
syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
|
||||
syn match pythonEscape "\\$"
|
||||
|
||||
if exists("python_highlight_all")
|
||||
if exists("python_no_builtin_highlight")
|
||||
unlet python_no_builtin_highlight
|
||||
endif
|
||||
if exists("python_no_doctest_code_highlight")
|
||||
unlet python_no_doctest_code_highlight
|
||||
endif
|
||||
if exists("python_no_doctest_highlight")
|
||||
unlet python_no_doctest_highlight
|
||||
endif
|
||||
if exists("python_no_exception_highlight")
|
||||
unlet python_no_exception_highlight
|
||||
endif
|
||||
if exists("python_no_number_highlight")
|
||||
unlet python_no_number_highlight
|
||||
endif
|
||||
let python_space_error_highlight = 1
|
||||
endif
|
||||
|
||||
" It is very important to understand all details before changing the
|
||||
" regular expressions below or their order.
|
||||
" The word boundaries are *not* the floating-point number boundaries
|
||||
@@ -213,7 +218,9 @@ if !exists("python_no_builtin_highlight")
|
||||
" non-essential built-in functions; Python 2 only
|
||||
syn keyword pythonBuiltin apply buffer coerce intern
|
||||
" avoid highlighting attributes as builtins
|
||||
syn match pythonAttribute /\.\h\w*/hs=s+1 contains=ALLBUT,pythonBuiltin transparent
|
||||
syn match pythonAttribute /\.\h\w*/hs=s+1
|
||||
\ contains=ALLBUT,pythonBuiltin,pythonFunction,pythonAsync
|
||||
\ transparent
|
||||
endif
|
||||
|
||||
" From the 'Python Library Reference' class hierarchy at the bottom.
|
||||
@@ -275,7 +282,7 @@ if !exists("python_no_doctest_highlight")
|
||||
if !exists("python_no_doctest_code_highlight")
|
||||
syn region pythonDoctest
|
||||
\ start="^\s*>>>\s" end="^\s*$"
|
||||
\ contained contains=ALLBUT,pythonDoctest,@Spell
|
||||
\ contained contains=ALLBUT,pythonDoctest,pythonFunction,@Spell
|
||||
syn region pythonDoctestValue
|
||||
\ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
|
||||
\ contained
|
||||
@@ -287,45 +294,43 @@ if !exists("python_no_doctest_highlight")
|
||||
endif
|
||||
|
||||
" Sync at the beginning of class, function, or method definition.
|
||||
syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
|
||||
|
||||
syn sync match pythonSync grouphere NONE "^\%(def\|class\)\s\+\h\w*\s*[(:]"
|
||||
|
||||
" The default highlight links. Can be overridden later.
|
||||
hi def link pythonStatement Statement
|
||||
hi def link pythonConditional Conditional
|
||||
hi def link pythonStatement Statement
|
||||
hi def link pythonConditional Conditional
|
||||
hi def link pythonRepeat Repeat
|
||||
hi def link pythonOperator Operator
|
||||
hi def link pythonException Exception
|
||||
hi def link pythonException Exception
|
||||
hi def link pythonInclude Include
|
||||
hi def link pythonAsync Statement
|
||||
hi def link pythonDecorator Define
|
||||
hi def link pythonDecoratorName Function
|
||||
hi def link pythonAsync Statement
|
||||
hi def link pythonDecorator Define
|
||||
hi def link pythonDecoratorName Function
|
||||
hi def link pythonFunction Function
|
||||
hi def link pythonComment Comment
|
||||
hi def link pythonTodo Todo
|
||||
hi def link pythonTodo Todo
|
||||
hi def link pythonString String
|
||||
hi def link pythonRawString String
|
||||
hi def link pythonRawString String
|
||||
hi def link pythonQuotes String
|
||||
hi def link pythonTripleQuotes pythonQuotes
|
||||
hi def link pythonTripleQuotes pythonQuotes
|
||||
hi def link pythonEscape Special
|
||||
if !exists("python_no_number_highlight")
|
||||
hi def link pythonNumber Number
|
||||
endif
|
||||
if !exists("python_no_builtin_highlight")
|
||||
hi def link pythonBuiltin Function
|
||||
hi def link pythonBuiltin Function
|
||||
endif
|
||||
if !exists("python_no_exception_highlight")
|
||||
hi def link pythonExceptions Structure
|
||||
hi def link pythonExceptions Structure
|
||||
endif
|
||||
if exists("python_space_error_highlight")
|
||||
hi def link pythonSpaceError Error
|
||||
hi def link pythonSpaceError Error
|
||||
endif
|
||||
if !exists("python_no_doctest_highlight")
|
||||
hi def link pythonDoctest Special
|
||||
hi def link pythonDoctest Special
|
||||
hi def link pythonDoctestValue Define
|
||||
endif
|
||||
|
||||
|
||||
let b:current_syntax = "python"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Aug 31, 2016
|
||||
" Version: 162
|
||||
" Last Change: Sep 22, 2016
|
||||
" Version: 165
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||
@@ -170,7 +170,7 @@ if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
|
||||
" Touch: {{{1
|
||||
" =====
|
||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd
|
||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd,shDoubleQuote,shSingleQuote,shDeref,shDerefSimple
|
||||
syn match shTouchCmd '\<touch\>' contained
|
||||
endif
|
||||
|
||||
@@ -220,7 +220,7 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
||||
"=======
|
||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
||||
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained
|
||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained contains=shDerefSimple,shDeref
|
||||
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
@@ -355,7 +355,11 @@ syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ e
|
||||
" Comments: {{{1
|
||||
"==========
|
||||
syn cluster shCommentGroup contains=shTodo,@Spell
|
||||
syn keyword shTodo contained COMBAK FIXME TODO XXX
|
||||
if exists("b:is_bash")
|
||||
syn match shTodo contained "\<\%(COMBAK\|FIXME\|TODO\|XXX\)\ze:\=\>"
|
||||
else
|
||||
syn keyword shTodo contained COMBAK FIXME TODO XXX
|
||||
endif
|
||||
syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup
|
||||
syn match shComment "\s\zs#.*$" contains=@shCommentGroup
|
||||
syn match shComment contained "#.*$" contains=@shCommentGroup
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: sendmail
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Oct 23, 2014
|
||||
" Version: 7
|
||||
" Last Change: Oct 25, 2016
|
||||
" Version: 8
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
@@ -62,10 +61,10 @@ hi def link smClause Special
|
||||
hi def link smClauseError Error
|
||||
hi def link smComment Comment
|
||||
hi def link smDefine Statement
|
||||
hi def link smElse Delimiter
|
||||
hi def link smElse Delimiter
|
||||
hi def link smHeader Statement
|
||||
hi def link smHeaderSep String
|
||||
hi def link smMesg Special
|
||||
hi def link smMesg Special
|
||||
hi def link smPrecedence Number
|
||||
hi def link smRewrite Statement
|
||||
hi def link smRewriteComment Comment
|
||||
@@ -76,7 +75,6 @@ hi def link smRuleset Preproc
|
||||
hi def link smTrusted Special
|
||||
hi def link smVar String
|
||||
|
||||
|
||||
let b:current_syntax = "sm"
|
||||
|
||||
" vim: ts=18
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax support file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Sep 25
|
||||
" Last Change: 2016 Nov 04
|
||||
|
||||
" This file sets up for syntax highlighting.
|
||||
" It is loaded from "syntax.vim" and "manual.vim".
|
||||
@@ -69,8 +69,11 @@ au Syntax c,cpp,cs,idl,java,php,datascript
|
||||
|
||||
|
||||
" Source the user-specified syntax highlighting file
|
||||
if exists("mysyntaxfile") && filereadable(expand(mysyntaxfile))
|
||||
execute "source " . mysyntaxfile
|
||||
if exists("mysyntaxfile")
|
||||
let s:fname = expand(mysyntaxfile)
|
||||
if filereadable(s:fname)
|
||||
execute "source " . fnameescape(s:fname)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Restore 'cpoptions'
|
||||
|
||||
+14
-18
@@ -1,7 +1,7 @@
|
||||
" Language: tags
|
||||
" Maintainer: Charles E. Campbell <NdrOchip@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Aug 31, 2016
|
||||
" Version: 6
|
||||
" Last Change: Oct 26, 2016
|
||||
" Version: 7
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TAGS
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
@@ -9,27 +9,23 @@ if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn match tagName "^[^\t]\+" skipwhite nextgroup=tagPath
|
||||
syn match tagPath "[^\t]\+" contained skipwhite nextgroup=tagAddr contains=tagBaseFile
|
||||
syn match tagName "^[^\t]\+" skipwhite nextgroup=tagPath
|
||||
syn match tagPath "[^\t]\+" contained skipwhite nextgroup=tagAddr contains=tagBaseFile
|
||||
syn match tagBaseFile "[a-zA-Z_]\+[\.a-zA-Z_0-9]*\t"me=e-1 contained
|
||||
syn match tagAddr "\d*" contained skipwhite nextgroup=tagComment
|
||||
syn region tagAddr matchgroup=tagDelim start="/" skip="\(\\\\\)*\\/" matchgroup=tagDelim end="$\|/" oneline contained skipwhite nextgroup=tagComment
|
||||
syn match tagComment ";.*$" contained contains=tagField
|
||||
syn match tagAddr "\d*" contained skipwhite nextgroup=tagComment
|
||||
syn region tagAddr matchgroup=tagDelim start="/" skip="\(\\\\\)*\\/" matchgroup=tagDelim end="$\|/" oneline contained skipwhite nextgroup=tagComment
|
||||
syn match tagComment ";.*$" contained contains=tagField
|
||||
syn match tagComment "^!_TAG_.*$"
|
||||
syn match tagField contained "[a-z]*:"
|
||||
syn match tagField contained "[a-z]*:"
|
||||
|
||||
" Define the default highlighting.
|
||||
if !exists("skip_drchip_tags_inits")
|
||||
|
||||
hi def link tagBaseFile PreProc
|
||||
hi def link tagComment Comment
|
||||
hi def link tagDelim Delimiter
|
||||
hi def link tagField Number
|
||||
hi def link tagName Identifier
|
||||
hi def link tagPath PreProc
|
||||
|
||||
hi def link tagBaseFile PreProc
|
||||
hi def link tagComment Comment
|
||||
hi def link tagDelim Delimiter
|
||||
hi def link tagField Number
|
||||
hi def link tagName Identifier
|
||||
hi def link tagPath PreProc
|
||||
endif
|
||||
|
||||
let b:current_syntax = "tags"
|
||||
|
||||
" vim: ts=12
|
||||
|
||||
+44
-38
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Aug 31, 2016
|
||||
" Version: 100
|
||||
" Last Change: Sep 20, 2016
|
||||
" Version: 101
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -160,15 +160,17 @@ syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,tex
|
||||
syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
|
||||
if !s:tex_nospell
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
|
||||
else
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
|
||||
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
|
||||
endif
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
|
||||
if !exists("g:tex_no_math")
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
|
||||
syn cluster texMatchGroup add=@texMathZones
|
||||
syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
|
||||
@@ -199,9 +201,13 @@ if s:tex_fast =~# 'm'
|
||||
if !s:tex_no_error
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
||||
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError
|
||||
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell
|
||||
else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
||||
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup
|
||||
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup
|
||||
endif
|
||||
if !s:tex_nospell
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
||||
@@ -399,7 +405,7 @@ if !exists("g:tex_no_math")
|
||||
" TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2
|
||||
" Starred forms are created if starform is true. Starred
|
||||
" forms have syntax group and synchronization groups with a
|
||||
" "S" appended. Handles: cluster, syntax, sync, and hi link.
|
||||
" "S" appended. Handles: cluster, syntax, sync, and highlighting.
|
||||
fun! TexNewMathZone(sfx,mathzone,starform)
|
||||
let grpname = "texMathZone".a:sfx
|
||||
let syncname = "texSyncMathZone".a:sfx
|
||||
@@ -1262,13 +1268,13 @@ if !exists("skip_tex_syntax_inits")
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("g:tex_no_math")
|
||||
hi def link texBadMath texError
|
||||
hi def link texMathDelimBad texError
|
||||
hi def link texMathDelimBad texError
|
||||
hi def link texMathError texError
|
||||
if !b:tex_stylish
|
||||
hi def link texOnlyMath texError
|
||||
hi def link texOnlyMath texError
|
||||
endif
|
||||
endif
|
||||
hi def link texError Error
|
||||
hi def link texError Error
|
||||
endif
|
||||
|
||||
hi texBoldStyle gui=bold cterm=bold
|
||||
@@ -1277,59 +1283,59 @@ if !exists("skip_tex_syntax_inits")
|
||||
hi texItalBoldStyle gui=bold,italic cterm=bold,italic
|
||||
hi def link texCite texRefZone
|
||||
hi def link texDefCmd texDef
|
||||
hi def link texDefName texDef
|
||||
hi def link texDocType texCmdName
|
||||
hi def link texDocTypeArgs texCmdArgs
|
||||
hi def link texDefName texDef
|
||||
hi def link texDocType texCmdName
|
||||
hi def link texDocTypeArgs texCmdArgs
|
||||
hi def link texInputFileOpt texCmdArgs
|
||||
hi def link texInputCurlies texDelimiter
|
||||
hi def link texLigature texSpecialChar
|
||||
hi def link texLigature texSpecialChar
|
||||
if !exists("g:tex_no_math")
|
||||
hi def link texMathDelimSet1 texMathDelim
|
||||
hi def link texMathDelimSet2 texMathDelim
|
||||
hi def link texMathDelimKey texMathDelim
|
||||
hi def link texMathMatcher texMath
|
||||
hi def link texAccent texStatement
|
||||
hi def link texAccent texStatement
|
||||
hi def link texGreek texStatement
|
||||
hi def link texSuperscript texStatement
|
||||
hi def link texSubscript texStatement
|
||||
hi def link texSubscript texStatement
|
||||
hi def link texSuperscripts texSuperscript
|
||||
hi def link texSubscripts texSubscript
|
||||
hi def link texMathSymbol texStatement
|
||||
hi def link texMathZoneV texMath
|
||||
hi def link texMathZoneW texMath
|
||||
hi def link texMathZoneX texMath
|
||||
hi def link texMathZoneY texMath
|
||||
hi def link texMathZoneV texMath
|
||||
hi def link texMathZoneZ texMath
|
||||
hi def link texMathSymbol texStatement
|
||||
hi def link texMathZoneV texMath
|
||||
hi def link texMathZoneW texMath
|
||||
hi def link texMathZoneX texMath
|
||||
hi def link texMathZoneY texMath
|
||||
hi def link texMathZoneV texMath
|
||||
hi def link texMathZoneZ texMath
|
||||
endif
|
||||
hi def link texBeginEnd texCmdName
|
||||
hi def link texBeginEnd texCmdName
|
||||
hi def link texBeginEndName texSection
|
||||
hi def link texSpaceCode texStatement
|
||||
hi def link texSpaceCode texStatement
|
||||
hi def link texStyleStatement texStatement
|
||||
hi def link texTypeSize texType
|
||||
hi def link texTypeStyle texType
|
||||
hi def link texTypeSize texType
|
||||
hi def link texTypeStyle texType
|
||||
|
||||
" Basic TeX highlighting groups
|
||||
hi def link texCmdArgs Number
|
||||
hi def link texCmdName Statement
|
||||
hi def link texComment Comment
|
||||
hi def link texDef Statement
|
||||
hi def link texDefParm Special
|
||||
hi def link texDelimiter Delimiter
|
||||
hi def link texCmdArgs Number
|
||||
hi def link texCmdName Statement
|
||||
hi def link texComment Comment
|
||||
hi def link texDef Statement
|
||||
hi def link texDefParm Special
|
||||
hi def link texDelimiter Delimiter
|
||||
hi def link texInput Special
|
||||
hi def link texInputFile Special
|
||||
hi def link texInputFile Special
|
||||
hi def link texLength Number
|
||||
hi def link texMath Special
|
||||
hi def link texMathDelim Statement
|
||||
hi def link texMathOper Operator
|
||||
hi def link texMathDelim Statement
|
||||
hi def link texMathOper Operator
|
||||
hi def link texNewCmd Statement
|
||||
hi def link texNewEnv Statement
|
||||
hi def link texOption Number
|
||||
hi def link texRefZone Special
|
||||
hi def link texSection PreCondit
|
||||
hi def link texRefZone Special
|
||||
hi def link texSection PreCondit
|
||||
hi def link texSpaceCodeChar Special
|
||||
hi def link texSpecialChar SpecialChar
|
||||
hi def link texStatement Statement
|
||||
hi def link texSpecialChar SpecialChar
|
||||
hi def link texStatement Statement
|
||||
hi def link texString String
|
||||
hi def link texTodo Todo
|
||||
hi def link texType Type
|
||||
|
||||
+21
-20
@@ -1,8 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.4 script
|
||||
" Language: Vim 8.0 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: September 06, 2016
|
||||
" Version: 7.4-54
|
||||
" Last Change: September 29, 2016
|
||||
" Version: 8.0-01
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -18,12 +19,12 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa l[ist] lat lcl[ose] lex[pr] lgetb[uffer] lhi[story] lmapc[lear] loadk lop[en] lt[ag] lvimgrepa[dd] marks mk[exrc] mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tn[ext] ts[elect] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
|
||||
syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgete[xpr] ll lne[xt] loadkeymap lp[revious] lua lw[indow] mat[ch] mks[ession] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] to[pleft] tu[nmenu] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
|
||||
syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgr[ep] lla[st] lnew[er] loc[kmarks] lpf[ile] luado m[ove] menut[ranslate] mksp[ell] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tp[revious] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lgrepa[dd] lli[st] lnf[ile] lockv[ar] lr[ewind] luafile ma[rk] mes mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tr[ewind] una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
|
||||
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lh[elpgrep] lmak[e] lo[adview] lol[der] ls lv[imgrep] mak[e] messages mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] try undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove]
|
||||
syn keyword vimCommand contained a argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i in ju[mps] keepp[atterns] lad[dexpr] later lcl[ose] lefta[bove] lg[etfile] lh[elpgrep] lmak[e] lo[adview] lol[der] ls lv[imgrep] mak[e] messages mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] try undoj[oin] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
|
||||
syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] iabc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcs lex[pr] lgetb[uffer] lhi[story] lmapc[lear] loadk lop[en] lt[ag] lvimgrepa[dd] marks mk[exrc] mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tn[ext] ts[elect] undol[ist] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] if is[earch] kee[pmarks] lNf[ile] laddf[ile] lbo[ttom] lcscope lf[ile] lgete[xpr] ll lne[xt] loadkeymap lp[revious] lua lw[indow] mat[ch] mks[ession] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] to[pleft] tu[nmenu] unh[ide] ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
|
||||
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi ij[ump] isp[lit] keepa l[ist] lan[guage] lc[d] ld[o] lfdo lgr[ep] lla[st] lnew[er] loc[kmarks] lpf[ile] luado m[ove] menut[ranslate] mksp[ell] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tp[revious] u[ndo] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
|
||||
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] il[ist] iuna[bbrev] keepalt la[st] lat lch[dir] le[ft] lfir[st] lgrepa[dd] lli[st] lnf[ile] lockv[ar] lr[ewind] luafile ma[rk] mes mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tr[ewind] una[bbreviate] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] imapc[lear] j[oin] keepj[umps]
|
||||
syn match vimCommand contained "\<z[-+^.=]\=\>"
|
||||
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
|
||||
|
||||
@@ -48,15 +49,15 @@ syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautoc
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs
|
||||
|
||||
" termcap codes (which can also be set) {{{2
|
||||
syn keyword vimOption contained t_8b t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_8f t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl t_EI
|
||||
syn match vimOption contained "t_%1"
|
||||
syn keyword vimOption contained t_8b t_AB t_AL t_CV t_Co t_DL t_F1 t_F3 t_F5 t_F7 t_F9 t_IS t_K1 t_K3 t_K4 t_K5 t_K6 t_K7 t_K8 t_K9 t_KA t_KB t_KC t_KD t_KE t_KF t_KG t_KH t_KI t_KJ t_KK t_KL t_RB t_RI t_RV t_SI t_SR t_Sb t_Sf t_WP t_WS t_ZH t_ZR t_al t_bc t_cd t_ce t_cl t_cm t_cs t_da t_db t_dl t_fs t_k1 t_k2 t_k3 t_k4 t_k5 t_k6 t_k7 t_k8 t_k9 t_kB t_kD t_kI t_kN t_kP t_kb t_kd t_ke t_kh t_kl t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_se t_so t_sr t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_xn t_xs
|
||||
syn keyword vimOption contained t_8f t_AF t_CS t_Ce t_Cs t_EI t_F2 t_F4 t_F6 t_F8 t_IE
|
||||
syn match vimOption contained "t_#2"
|
||||
syn match vimOption contained "t_#4"
|
||||
syn match vimOption contained "t_@7"
|
||||
syn match vimOption contained "t_*7"
|
||||
syn match vimOption contained "t_&8"
|
||||
syn match vimOption contained "t_%1"
|
||||
syn match vimOption contained "t_%i"
|
||||
syn match vimOption contained "t_&8"
|
||||
syn match vimOption contained "t_*7"
|
||||
syn match vimOption contained "t_@7"
|
||||
syn match vimOption contained "t_k;"
|
||||
|
||||
" unsupported settings: some were supported by vi but don't do anything in vim {{{2
|
||||
@@ -76,10 +77,10 @@ syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs append argv assert_fails assert_notequal atan2 buflisted bufwinid byteidxcomp char2nr ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlID index inputrestore invert items job_start js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan test_alloc_fail test_garbagecollect_now test_null_job test_null_string timer_pause timer_stopall tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
|
||||
syn keyword vimFuncName contained acos argc asin assert_false assert_notmatch browse bufloaded bufwinnr call ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimefloat remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh test_autochdir test_null_channel test_null_list test_settime timer_start tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
|
||||
syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true browsedir bufname byte2line ceil ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname test_disable_char_avail test_null_dict test_null_partial timer_info timer_stop toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
|
||||
syn keyword vimFuncName contained and arglistid assert_exception assert_match atan bufexists bufnr byteidx changenr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join
|
||||
syn keyword vimFuncName contained abs append argv assert_fails assert_notequal atan2 buflisted bufwinid byteidxcomp ch_close_in ch_getjob ch_open ch_sendraw char2nr complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlexists index inputrestore invert items job_start js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strdisplaywidth stridx strpart strwidth synID synconcealed systemlist tabpagewinnr tan test_alloc_fail test_garbagecollect_now test_null_job test_null_string timer_pause timer_stopall tr undofile values wildmenumode win_gotoid winbufnr winline winrestview wordcount
|
||||
syn keyword vimFuncName contained acos argc asin assert_false assert_notmatch browse bufloaded bufwinnr call ch_evalexpr ch_info ch_read ch_setoptions cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimefloat remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strcharpart strftime string strridx submatch synIDattr synstack tabpagebuflist tagfiles tanh test_autochdir test_null_channel test_null_list test_settime timer_start tolower trunc undotree virtcol win_findbuf win_id2tabwin wincol winnr winsaveview writefile
|
||||
syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true browsedir bufname byte2line ceil ch_evalraw ch_log ch_readraw ch_status clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strchars strgetchar strlen strtrans substitute synIDtrans system tabpagenr taglist tempname test_disable_char_avail test_null_dict test_null_partial timer_info timer_stop toupper type uniq visualmode win_getid win_id2win winheight winrestcmd winwidth xor
|
||||
syn keyword vimFuncName contained and arglistid assert_exception assert_match atan bufexists bufnr byteidx ch_close ch_getbufnr ch_logfile ch_sendexpr changenr col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlID indent inputlist insert isnan job_setoptions join
|
||||
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
@@ -498,7 +499,7 @@ syn cluster vimFuncBodyList add=vimSynType
|
||||
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
|
||||
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
|
||||
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
|
||||
syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
|
||||
syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
|
||||
if has("conceal")
|
||||
syn match vimSynMtchOpt contained "\<cchar=" nextgroup=vimSynMtchCchar
|
||||
syn match vimSynMtchCchar contained "\S"
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
@rem :h --remote-silent for more details
|
||||
@rem
|
||||
@rem --servername VS_NET
|
||||
@rem This will create a new instance of vim called VS_NET. So if you
|
||||
open
|
||||
@rem This will create a new instance of vim called VS_NET. So if you open
|
||||
@rem multiple files from VS, they will use the same instance of Vim.
|
||||
@rem This allows you to have multiple copies of Vim running, but you can
|
||||
@rem control which one has VS files in it.
|
||||
|
||||
@@ -61,8 +61,8 @@ NOTE : Les touches fl
|
||||
Ceci quitte l'éditeur SANS enregistrer les changements que vous avez
|
||||
faits.
|
||||
|
||||
3. Lorsque l'invite du shell vous sera présentée, tapez la commande qui
|
||||
vous a mené dans ce tutoriel. Cela pourrait être : vimtutor <Entrée>
|
||||
3. Revenez ici en tapant la commande qui vous a mené à ce tutoriel.
|
||||
Cela pourrait être : vimtutor <Entrée>
|
||||
|
||||
4. Si vous avez mémorisé ces étapes et êtes confiant, effectuez les étapes
|
||||
1 à 3 pour sortir puis rentrer dans l'éditeur.
|
||||
@@ -154,7 +154,7 @@ NOTE : En avan
|
||||
!! NOTE : Lisez toute la leçon avant d'exécuter les instructions ci-dessous !!
|
||||
|
||||
1. Sortez de ce tutoriel comme vous l'avez fait dans la Leçon 1.2 : :q!
|
||||
Ou, si vous avez accès à un autre terminal, exécutez y les actions
|
||||
Ou, si vous avez accès à un autre terminal, exécutez-y les actions
|
||||
qui suivent.
|
||||
|
||||
2. À l'invite du shell, tapez cette commande : vim tutor <Entrée>
|
||||
@@ -704,7 +704,7 @@ NOTE : Si vous quittez Vim et le red
|
||||
3. Appuyez : . En bas de l'écran :'<,'> va apparaître.
|
||||
|
||||
4. Tapez w TEST , où TEST est un nom de fichier qui n'existe pas.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur <Entrée>.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant d'appuyer sur <Entrée>.
|
||||
|
||||
5. Vim va enregistrer les lignes sélectionnées dans le fichier TEST.
|
||||
Utilisez :!dir ou :!ls pour le voir. Ne l'effacez pas encore !
|
||||
@@ -1034,5 +1034,5 @@ NOTE : Le compl
|
||||
Dernières mises à jour par Dominique Pellé.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2016 Jul 02
|
||||
Last Change : 2016 Nov 08
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -61,8 +61,8 @@ NOTE : Les touches fléchées devraient également fonctionner. Mais en utilisan
|
||||
Ceci quitte l'éditeur SANS enregistrer les changements que vous avez
|
||||
faits.
|
||||
|
||||
3. Lorsque l'invite du shell vous sera présentée, tapez la commande qui
|
||||
vous a mené dans ce tutoriel. Cela pourrait être : vimtutor <Entrée>
|
||||
3. Revenez ici en tapant la commande qui vous a mené à ce tutoriel.
|
||||
Cela pourrait être : vimtutor <Entrée>
|
||||
|
||||
4. Si vous avez mémorisé ces étapes et êtes confiant, effectuez les étapes
|
||||
1 à 3 pour sortir puis rentrer dans l'éditeur.
|
||||
@@ -154,7 +154,7 @@ NOTE : En avançant dans ce cours, n'essayez pas de mémoriser, apprenez par
|
||||
!! NOTE : Lisez toute la leçon avant d'exécuter les instructions ci-dessous !!
|
||||
|
||||
1. Sortez de ce tutoriel comme vous l'avez fait dans la Leçon 1.2 : :q!
|
||||
Ou, si vous avez accès à un autre terminal, exécutez y les actions
|
||||
Ou, si vous avez accès à un autre terminal, exécutez-y les actions
|
||||
qui suivent.
|
||||
|
||||
2. À l'invite du shell, tapez cette commande : vim tutor <Entrée>
|
||||
@@ -704,7 +704,7 @@ NOTE : Si vous quittez Vim et le redémarrez de nouveau avec le fichier TEST,
|
||||
3. Appuyez : . En bas de l'écran :'<,'> va apparaître.
|
||||
|
||||
4. Tapez w TEST , où TEST est un nom de fichier qui n'existe pas.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur <Entrée>.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant d'appuyer sur <Entrée>.
|
||||
|
||||
5. Vim va enregistrer les lignes sélectionnées dans le fichier TEST.
|
||||
Utilisez :!dir ou :!ls pour le voir. Ne l'effacez pas encore !
|
||||
@@ -1034,5 +1034,5 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez
|
||||
Dernières mises à jour par Dominique Pellé.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2016 Jul 02
|
||||
Last Change : 2016 Nov 08
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
vimtutor <ENTER>
|
||||
|
||||
4. Если вы уверены в том, что запомнили эти шаги, выполните шаги от 1 до 3
|
||||
чтобы выйти снова запустить редактор.
|
||||
чтобы выйти и снова запустить редактор.
|
||||
|
||||
Замечание! :q! <ENTER> отбрасывает любые сделанные вами изменения. Через
|
||||
несколько уроков вы узнаете как сохранять изменения в файл.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# DEBUG=yes Build debug version (for VC7 and maybe later)
|
||||
#
|
||||
|
||||
TARGETOS=BOTH
|
||||
TARGETOS=WINNT
|
||||
!ifndef APPVER
|
||||
APPVER=5.0
|
||||
!endif
|
||||
|
||||
+2
-2
@@ -221,8 +221,8 @@ diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
The file `configure.ac' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.ac' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
+14
-14
@@ -722,40 +722,40 @@ The MS-DOS support was removed in patch 7.4.1399.
|
||||
After you've built the Vim binaries as described above, you're ready to
|
||||
install Vim on your system. However, if you've obtained the Vim sources
|
||||
using Git, Mercurial or by downloading them as a unix tar file, you must
|
||||
first create a "vim74" directory. If you instead downloaded the sources as
|
||||
first create a "vim80" directory. If you instead downloaded the sources as
|
||||
zip files, you can skip this setup as the zip archives already have the
|
||||
correct directory structure.
|
||||
|
||||
A. Create a Vim "runtime" subdirectory named "vim74"
|
||||
A. Create a Vim "runtime" subdirectory named "vim80"
|
||||
-----------------------------------------------------
|
||||
If you obtained your Vim sources as zip files, you can skip this step.
|
||||
Otherwise, continue reading.
|
||||
|
||||
Go to the directory that contains the Vim "src" and "runtime"
|
||||
directories and create a new subdirectory named "vim74".
|
||||
directories and create a new subdirectory named "vim80".
|
||||
|
||||
Copy the "runtime" files into "vim74":
|
||||
copy runtime\* vim74
|
||||
Copy the "runtime" files into "vim80":
|
||||
copy runtime\* vim80
|
||||
|
||||
B. Copy the new binaries into the "vim74" directory
|
||||
B. Copy the new binaries into the "vim80" directory
|
||||
----------------------------------------------------
|
||||
Regardless of how you installed the Vim sources, you need to copy the
|
||||
new binaries you created above into "vim74":
|
||||
new binaries you created above into "vim80":
|
||||
|
||||
copy src\*.exe vim74
|
||||
copy src\GvimExt\gvimext.dll vim74
|
||||
copy src\xxd\xxd.exe vim74
|
||||
copy src\*.exe vim80
|
||||
copy src\GvimExt\gvimext.dll vim80
|
||||
copy src\xxd\xxd.exe vim80
|
||||
|
||||
C. Move the "vim74" directory into the Vim installation subdirectory
|
||||
C. Move the "vim80" directory into the Vim installation subdirectory
|
||||
---------------------------------------------------------------------
|
||||
Move the "vim74" subdirectory into the subdirectory where you want Vim
|
||||
Move the "vim80" subdirectory into the subdirectory where you want Vim
|
||||
to be installed. Typically, this subdirectory will be named "vim".
|
||||
If you already have a "vim74" subdirectory in "vim", delete it first
|
||||
If you already have a "vim80" subdirectory in "vim", delete it first
|
||||
by running its uninstal.exe program.
|
||||
|
||||
D. Install Vim
|
||||
---------------
|
||||
"cd" to your Vim installation subdirectory "vim\vim74" and run the
|
||||
"cd" to your Vim installation subdirectory "vim\vim80" and run the
|
||||
"install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// DBPrefsWindowController.m
|
||||
//
|
||||
|
||||
#import "MacVim.h"
|
||||
#import "DBPrefsWindowController.h"
|
||||
|
||||
|
||||
@@ -75,8 +76,8 @@ static DBPrefsWindowController *_sharedPrefsWindowController = nil;
|
||||
// If the developer attached a window to this controller
|
||||
// in Interface Builder, it gets replaced with this one.
|
||||
NSPanel *window = [[[NSPanel alloc] initWithContentRect:NSMakeRect(0,0,1000,1000)
|
||||
styleMask:(NSTitledWindowMask |
|
||||
NSClosableWindowMask)
|
||||
styleMask:(NSWindowStyleMaskTitled |
|
||||
NSWindowStyleMaskClosable)
|
||||
backing:NSBackingStoreBuffered
|
||||
defer:YES] autorelease];
|
||||
[window setHidesOnDeactivate:NO];
|
||||
@@ -349,7 +350,7 @@ static DBPrefsWindowController *_sharedPrefsWindowController = nil;
|
||||
{
|
||||
[viewAnimation stopAnimation];
|
||||
|
||||
if ([self shiftSlowsAnimation] && [[[self window] currentEvent] modifierFlags] & NSShiftKeyMask)
|
||||
if ([self shiftSlowsAnimation] && [[[self window] currentEvent] modifierFlags] & NSEventModifierFlagShift)
|
||||
[viewAnimation setDuration:1.25];
|
||||
else
|
||||
[viewAnimation setDuration:0.25];
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>110</string>
|
||||
<string>116</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
@@ -181,12 +181,28 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
CFPreferencesSetAppValue(CFSTR("NSRepeatCountBinding"),
|
||||
CFSTR(""),
|
||||
kCFPreferencesCurrentApplication);
|
||||
|
||||
|
||||
int tabMinWidthKey;
|
||||
int tabMaxWidthKey;
|
||||
int tabOptimumWidthKey;
|
||||
if (shouldUseYosemiteTabBarStyle()) {
|
||||
tabMinWidthKey = 120;
|
||||
tabMaxWidthKey = 0;
|
||||
tabOptimumWidthKey = 0;
|
||||
} else {
|
||||
tabMinWidthKey = 64;
|
||||
tabMaxWidthKey = 6*64;
|
||||
tabOptimumWidthKey = 132;
|
||||
}
|
||||
|
||||
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
[NSNumber numberWithBool:NO], MMNoWindowKey,
|
||||
[NSNumber numberWithInt:64], MMTabMinWidthKey,
|
||||
[NSNumber numberWithInt:6*64], MMTabMaxWidthKey,
|
||||
[NSNumber numberWithInt:132], MMTabOptimumWidthKey,
|
||||
[NSNumber numberWithInt:tabMinWidthKey],
|
||||
MMTabMinWidthKey,
|
||||
[NSNumber numberWithInt:tabMaxWidthKey],
|
||||
MMTabMaxWidthKey,
|
||||
[NSNumber numberWithInt:tabOptimumWidthKey],
|
||||
MMTabOptimumWidthKey,
|
||||
[NSNumber numberWithBool:YES], MMShowAddTabButtonKey,
|
||||
[NSNumber numberWithInt:2], MMTextInsetLeftKey,
|
||||
[NSNumber numberWithInt:1], MMTextInsetRightKey,
|
||||
@@ -502,7 +518,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
|
||||
if (modifiedBuffers) {
|
||||
NSAlert *alert = [[NSAlert alloc] init];
|
||||
[alert setAlertStyle:NSWarningAlertStyle];
|
||||
[alert setAlertStyle:NSAlertStyleWarning];
|
||||
[alert addButtonWithTitle:NSLocalizedString(@"Quit",
|
||||
@"Dialog button")];
|
||||
[alert addButtonWithTitle:NSLocalizedString(@"Cancel",
|
||||
@@ -532,7 +548,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
|
||||
if (numWindows > 1 || numTabs > 1) {
|
||||
NSAlert *alert = [[NSAlert alloc] init];
|
||||
[alert setAlertStyle:NSWarningAlertStyle];
|
||||
[alert setAlertStyle:NSAlertStyleWarning];
|
||||
[alert addButtonWithTitle:NSLocalizedString(@"Quit",
|
||||
@"Dialog button")];
|
||||
[alert addButtonWithTitle:NSLocalizedString(@"Cancel",
|
||||
@@ -1566,7 +1582,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
}
|
||||
|
||||
[alert setInformativeText:text];
|
||||
[alert setAlertStyle:NSWarningAlertStyle];
|
||||
[alert setAlertStyle:NSAlertStyleWarning];
|
||||
|
||||
[alert runModal];
|
||||
[alert release];
|
||||
@@ -1735,7 +1751,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
@"Unknown URL Scheme dialog, text"),
|
||||
[url host]]];
|
||||
|
||||
[alert setAlertStyle:NSWarningAlertStyle];
|
||||
[alert setAlertStyle:NSAlertStyleWarning];
|
||||
[alert runModal];
|
||||
[alert release];
|
||||
}
|
||||
@@ -1853,7 +1869,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
// background, the runloop won't bother flushing the autorelease pool.
|
||||
// Triggering an NSEvent works around this.
|
||||
// http://www.mikeash.com/pyblog/more-fun-with-autorelease.html
|
||||
NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined
|
||||
NSEvent* event = [NSEvent otherEventWithType:NSEventTypeApplicationDefined
|
||||
location:NSZeroPoint
|
||||
modifierFlags:0
|
||||
timestamp:0
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Some default NSApplication key input behavior is overridden here.
|
||||
*/
|
||||
|
||||
#import "MacVim.h"
|
||||
#import "MMApplication.h"
|
||||
|
||||
@implementation MMApplication
|
||||
@@ -27,14 +28,15 @@
|
||||
// help mode' (the keyDown: event itself never reaches the text view). By
|
||||
// clearing the 'help key flag' this event will be treated like a normal
|
||||
// key event.
|
||||
if ((NSKeyDown == type || NSKeyUp == type) && (flags & NSHelpKeyMask)) {
|
||||
flags &= ~NSHelpKeyMask;
|
||||
if ((NSEventTypeKeyDown == type || NSEventTypeKeyUp == type) &&
|
||||
(flags & NSEventModifierFlagHelp)) {
|
||||
flags &= ~NSEventModifierFlagHelp;
|
||||
event = [NSEvent keyEventWithType:[event type]
|
||||
location:[event locationInWindow]
|
||||
modifierFlags:flags
|
||||
timestamp:[event timestamp]
|
||||
windowNumber:[event windowNumber]
|
||||
context:[event context]
|
||||
context:nil // [event context] is always nil
|
||||
characters:[event characters]
|
||||
charactersIgnoringModifiers:[event charactersIgnoringModifiers]
|
||||
isARepeat:[event isARepeat]
|
||||
|
||||
@@ -3173,13 +3173,13 @@ static int eventModifierFlagsToVimModMask(int modifierFlags)
|
||||
{
|
||||
int modMask = 0;
|
||||
|
||||
if (modifierFlags & NSShiftKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagShift)
|
||||
modMask |= MOD_MASK_SHIFT;
|
||||
if (modifierFlags & NSControlKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagControl)
|
||||
modMask |= MOD_MASK_CTRL;
|
||||
if (modifierFlags & NSAlternateKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagOption)
|
||||
modMask |= MOD_MASK_ALT;
|
||||
if (modifierFlags & NSCommandKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagCommand)
|
||||
modMask |= MOD_MASK_CMD;
|
||||
|
||||
return modMask;
|
||||
@@ -3189,11 +3189,11 @@ static int eventModifierFlagsToVimMouseModMask(int modifierFlags)
|
||||
{
|
||||
int modMask = 0;
|
||||
|
||||
if (modifierFlags & NSShiftKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagShift)
|
||||
modMask |= MOUSE_SHIFT;
|
||||
if (modifierFlags & NSControlKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagControl)
|
||||
modMask |= MOUSE_CTRL;
|
||||
if (modifierFlags & NSAlternateKeyMask)
|
||||
if (modifierFlags & NSEventModifierFlagOption)
|
||||
modMask |= MOUSE_ALT;
|
||||
|
||||
return modMask;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* changes were made to adapt the code to MacVim.
|
||||
*/
|
||||
|
||||
#import "MacVim.h"
|
||||
#import "MMCoreTextView.h"
|
||||
|
||||
|
||||
@@ -150,12 +151,12 @@ static const NSTrackingRectTag kTrackingRectTag = 0xBADFACE;
|
||||
}
|
||||
}
|
||||
|
||||
// Sends a fake NSMouseExited event to the view for its current tracking rect.
|
||||
// Sends a fake NSEventTypeMouseExited event to the view for its current tracking rect.
|
||||
- (void)_sendToolTipMouseExited
|
||||
{
|
||||
// Nothing matters except window, trackingNumber, and userData.
|
||||
int windowNumber = [[self window] windowNumber];
|
||||
NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSMouseExited
|
||||
NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSEventTypeMouseExited
|
||||
location:NSMakePoint(0, 0)
|
||||
modifierFlags:0
|
||||
timestamp:0
|
||||
@@ -167,12 +168,12 @@ static const NSTrackingRectTag kTrackingRectTag = 0xBADFACE;
|
||||
[trackingRectOwner_ mouseExited:fakeEvent];
|
||||
}
|
||||
|
||||
// Sends a fake NSMouseEntered event to the view for its current tracking rect.
|
||||
// Sends a fake NSEventTypeMouseEntered event to the view for its current tracking rect.
|
||||
- (void)_sendToolTipMouseEntered
|
||||
{
|
||||
// Nothing matters except window, trackingNumber, and userData.
|
||||
int windowNumber = [[self window] windowNumber];
|
||||
NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSMouseEntered
|
||||
NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSEventTypeMouseEntered
|
||||
location:NSMakePoint(0, 0)
|
||||
modifierFlags:0
|
||||
timestamp:0
|
||||
|
||||
@@ -39,6 +39,10 @@
|
||||
CGPoint *positions;
|
||||
NSMutableArray *fontCache;
|
||||
|
||||
BOOL cgLayerEnabled;
|
||||
CGLayerRef cgLayer;
|
||||
CGContextRef cgLayerContext;
|
||||
|
||||
// These are used in MMCoreTextView+ToolTip.m
|
||||
id trackingRectOwner_; // (not retained)
|
||||
void *trackingRectUserData_;
|
||||
@@ -85,6 +89,7 @@
|
||||
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
|
||||
- (NSRect)rectForRow:(int)row column:(int)column numRows:(int)nr
|
||||
numColumns:(int)nc;
|
||||
- (void)setCGLayerEnabled:(BOOL)enabled;
|
||||
|
||||
//
|
||||
// NSTextView methods
|
||||
|
||||
+94
-15
@@ -592,6 +592,23 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[self batchDrawData:data];
|
||||
|
||||
[drawData removeAllObjects];
|
||||
|
||||
if (cgLayerEnabled) {
|
||||
// during a live resize, we will have around a stale layer until the
|
||||
// refresh messages travel back from the vim process. We push the old
|
||||
// layer in at an offset to get rid of jitter due to lines changing
|
||||
// position.
|
||||
CGLayerRef l = [self getCGLayer];
|
||||
CGSize cgLayerSize = CGLayerGetSize(l);
|
||||
CGSize frameSize = [self frame].size;
|
||||
NSRect drawRect = NSMakeRect(
|
||||
0,
|
||||
frameSize.height - cgLayerSize.height,
|
||||
cgLayerSize.width,
|
||||
cgLayerSize.height);
|
||||
|
||||
CGContextDrawLayerInRect([context graphicsPort], drawRect, l);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)performBatchDrawWithData:(NSData *)data
|
||||
@@ -605,6 +622,47 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[self display];
|
||||
}
|
||||
|
||||
- (void)setCGLayerEnabled:(BOOL)enabled
|
||||
{
|
||||
cgLayerEnabled = enabled;
|
||||
|
||||
if (!cgLayerEnabled)
|
||||
[self releaseCGLayer];
|
||||
}
|
||||
|
||||
- (void)releaseCGLayer
|
||||
{
|
||||
if (cgLayer) {
|
||||
CGLayerRelease(cgLayer);
|
||||
cgLayer = nil;
|
||||
cgLayerContext = nil;
|
||||
}
|
||||
}
|
||||
|
||||
- (CGLayerRef)getCGLayer
|
||||
{
|
||||
NSParameterAssert(cgLayerEnabled);
|
||||
if (!cgLayer) {
|
||||
NSGraphicsContext *context = [NSGraphicsContext currentContext];
|
||||
NSRect frame = [self frame];
|
||||
cgLayer = CGLayerCreateWithContext(
|
||||
[context graphicsPort], frame.size, NULL);
|
||||
}
|
||||
return cgLayer;
|
||||
}
|
||||
|
||||
- (CGContextRef)getCGContext
|
||||
{
|
||||
if (cgLayerEnabled) {
|
||||
if (!cgLayerContext)
|
||||
cgLayerContext = CGLayerGetContext([self getCGLayer]);
|
||||
return cgLayerContext;
|
||||
} else {
|
||||
return [[NSGraphicsContext currentContext] graphicsPort];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (NSSize)constrainRows:(int *)rows columns:(int *)cols toSize:(NSSize)size
|
||||
{
|
||||
// TODO:
|
||||
@@ -852,7 +910,7 @@ defaultAdvanceForFont(NSFont *font)
|
||||
const void *end = bytes + [data length];
|
||||
|
||||
#if MM_DEBUG_DRAWING
|
||||
ASLogNotice(@"====> BEGIN %s", _cmd);
|
||||
ASLogNotice(@"====> BEGIN");
|
||||
#endif
|
||||
// TODO: Sanity check input
|
||||
|
||||
@@ -908,10 +966,18 @@ defaultAdvanceForFont(NSFont *font)
|
||||
column:col
|
||||
numRows:height
|
||||
numColumns:width];
|
||||
[signImg drawInRect:r
|
||||
fromRect:NSZeroRect
|
||||
operation:NSCompositeSourceOver
|
||||
fraction:1.0];
|
||||
if (cgLayerEnabled) {
|
||||
CGContextRef context = [self getCGContext];
|
||||
CGImageRef cgImage = [signImg CGImageForProposedRect:&r
|
||||
context:nil
|
||||
hints:nil];
|
||||
CGContextDrawImage(context, r, cgImage);
|
||||
} else {
|
||||
[signImg drawInRect:r
|
||||
fromRect:NSZeroRect
|
||||
operation:NSCompositingOperationSourceOver
|
||||
fraction:1.0];
|
||||
}
|
||||
} else if (DrawStringDrawType == type) {
|
||||
int bg = *((int*)bytes); bytes += sizeof(int);
|
||||
int fg = *((int*)bytes); bytes += sizeof(int);
|
||||
@@ -1013,11 +1079,11 @@ defaultAdvanceForFont(NSFont *font)
|
||||
}
|
||||
|
||||
#if MM_DEBUG_DRAWING
|
||||
ASLogNotice(@"<==== END %s", _cmd);
|
||||
ASLogNotice(@"<==== END");
|
||||
#endif
|
||||
}
|
||||
|
||||
static CTFontRef
|
||||
static CTFontRef
|
||||
lookupFont(NSMutableArray *fontCache, const unichar *chars, UniCharCount count,
|
||||
CTFontRef currFontRef)
|
||||
{
|
||||
@@ -1294,7 +1360,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
withFlags:(int)flags foregroundColor:(int)fg
|
||||
backgroundColor:(int)bg specialColor:(int)sp
|
||||
{
|
||||
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
CGContextRef context = [self getCGContext];
|
||||
NSRect frame = [self bounds];
|
||||
float x = col*cellSize.width + insetSize.width;
|
||||
float y = frame.size.height - insetSize.height - (1+row)*cellSize.height;
|
||||
@@ -1412,10 +1478,22 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
|
||||
- (void)scrollRect:(NSRect)rect lineCount:(int)count
|
||||
{
|
||||
NSPoint destPoint = rect.origin;
|
||||
destPoint.y -= count * cellSize.height;
|
||||
if (cgLayerEnabled) {
|
||||
CGContextRef context = [self getCGContext];
|
||||
int yOffset = count * cellSize.height;
|
||||
NSRect clipRect = rect;
|
||||
clipRect.origin.y -= yOffset;
|
||||
|
||||
NSCopyBits(0, rect, destPoint);
|
||||
// draw self on top of self, offset so as to "scroll" lines vertically
|
||||
CGContextSaveGState(context);
|
||||
CGContextClipToRect(context, clipRect);
|
||||
CGContextDrawLayerAtPoint(
|
||||
context, CGPointMake(0, -yOffset), [self getCGLayer]);
|
||||
CGContextRestoreGState(context);
|
||||
} else {
|
||||
NSSize delta={0, -count * cellSize.height};
|
||||
[self scrollRect:rect by:delta];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)deleteLinesFromRow:(int)row lineCount:(int)count
|
||||
@@ -1457,7 +1535,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
- (void)clearBlockFromRow:(int)row1 column:(int)col1 toRow:(int)row2
|
||||
column:(int)col2 color:(int)color
|
||||
{
|
||||
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
CGContextRef context = [self getCGContext];
|
||||
NSRect rect = [self rectFromRow:row1 column:col1 toRow:row2 column:col2];
|
||||
|
||||
CGContextSetRGBFillColor(context, RED(color), GREEN(color), BLUE(color),
|
||||
@@ -1470,7 +1548,8 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
|
||||
- (void)clearAll
|
||||
{
|
||||
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
[self releaseCGLayer];
|
||||
CGContextRef context = [self getCGContext];
|
||||
NSRect rect = [self bounds];
|
||||
float r = [defaultBackgroundColor redComponent];
|
||||
float g = [defaultBackgroundColor greenComponent];
|
||||
@@ -1486,7 +1565,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(int)color
|
||||
{
|
||||
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
CGContextRef context = [self getCGContext];
|
||||
NSRect rect = [self rectForRow:row column:col numRows:1 numColumns:1];
|
||||
|
||||
CGContextSaveGState(context);
|
||||
@@ -1535,7 +1614,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
numColumns:(int)ncols
|
||||
{
|
||||
// TODO: THIS CODE HAS NOT BEEN TESTED!
|
||||
CGContextRef cgctx = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
CGContextRef cgctx = [self getCGContext];
|
||||
CGContextSaveGState(cgctx);
|
||||
CGContextSetBlendMode(cgctx, kCGBlendModeDifference);
|
||||
CGContextSetRGBFillColor(cgctx, 1.0, 1.0, 1.0, 1.0);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user