1
0
forked from aniani/vim

Update runtime files; use compiled functions

This commit is contained in:
Bram Moolenaar 2022-02-04 19:48:06 +00:00
parent a2baa73d1d
commit 3e79c97c18
7 changed files with 476 additions and 513 deletions

View File

@ -893,4 +893,4 @@ enddef
# Uncomment this line to check for compilation errors early # Uncomment this line to check for compilation errors early
defcompile # defcompile

View File

@ -1,4 +1,4 @@
*uganda.txt* For Vim version 8.2. Last change: 2020 Jan 08 *uganda.txt* For Vim version 8.2. Last change: 2022 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -11,9 +11,9 @@ Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation for needy children in Uganda. Please see |kcc| encouraged to make a donation for needy children in Uganda. Please see |kcc|
below or visit the ICCF web site, available at these URLs: below or visit the ICCF web site, available at these URLs:
http://iccf-holland.org/ https://iccf-holland.org/
http://www.vim.org/iccf/ https://www.vim.org/iccf/
http://www.iccf.nl/ https://www.iccf.nl/
You can also sponsor the development of Vim. Vim sponsors can vote for You can also sponsor the development of Vim. Vim sponsors can vote for
features. See |sponsor|. The money goes to Uganda anyway. features. See |sponsor|. The money goes to Uganda anyway.
@ -169,10 +169,11 @@ households are stimulated to build a proper latrine. I helped setting up a
production site for cement slabs. These are used to build a good latrine. production site for cement slabs. These are used to build a good latrine.
They are sold below cost price. They are sold below cost price.
There is a small clinic at the project, which provides children and their There is a clinic at the project, which provides children and their family
family with medical help. When needed, transport to a hospital is offered. medical help. Since 2020 a maternity ward was added and 24/7 service is
Immunization programs are carried out and help is provided when an epidemic is available. When needed, transport to a hospital is offered. Immunization
breaking out (measles and cholera have been a problem). programs are carried out and help is provided when an epidemic is breaking out
(measles and cholera have been a problem).
*donate* *donate*
Summer 1994 to summer 1995 I spent a whole year at the centre, working as a Summer 1994 to summer 1995 I spent a whole year at the centre, working as a
volunteer. I have helped to expand the centre and worked in the area of water volunteer. I have helped to expand the centre and worked in the area of water
@ -214,44 +215,29 @@ Check the ICCF web site for the latest information! See |iccf| for the URL.
USA: The methods mentioned below can be used. USA: The methods mentioned below can be used.
Sending a check to the Nehemiah Group Outreach Society (NGOS) If you must send a check send it to our Canadian partner:
is no longer possible, unfortunately. We are looking for https://www.kuwasha.net/
another way to get you an IRS tax receipt.
For sponsoring a child contact KCF in Canada (see below). US
checks can be sent to them to lower banking costs.
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They Canada: Contact Kuwasha in Surrey, Canada. They take care of the
take care of the Canadian sponsors for the children in Canadian sponsors for the children in Kibaale. Kuwasha
Kibaale. KCF forwards 100% of the money to the project in forwards 100% of the money to the project in Uganda. You can
Uganda. You can send them a one time donation directly. send them a one time donation directly.
Please send me a note so that I know what has been donated Please send me a note so that I know what has been donated
because of Vim. Ask KCF for information about sponsorship. because of Vim. Look on their for information about
Kibaale Children's Fund c/o Pacific Academy sponsorship: https://www.kuwasha.net/
10238-168 Street If you make a donation to Kuwasha you will receive a tax
Surrey, B.C. V4N 1Z4 receipt which can be submitted with your tax return.
Canada
Phone: 604-581-5353
If you make a donation to Kibaale Children's Fund (KCF) you
will receive a tax receipt which can be submitted with your
tax return.
Holland: Transfer to the account of "Stichting ICCF Holland" in Lisse. Holland: Transfer to the account of "Stichting ICCF Holland" in
This will allow for tax deduction if you live in Holland. Amersfoort. This will allow for tax deduction if you live in
Postbank, nr. 4548774 Holland. ING bank, IBAN: NL95 INGB 0004 5487 74
IBAN: NL95 INGB 0004 5487 74
Germany: It is possible to make donations that allow for a tax return. Germany: It is possible to make donations that allow for a tax return.
Check the ICCF web site for the latest information: Check the ICCF web site for the latest information:
http://iccf-holland.org/germany.html https://iccf-holland.org/germany.html
World: Use a postal money order. That should be possible from any Europe: Use a bank transfer if possible. See "Others" below for the
country, mostly from the post office. Use this name (which is swift code and IBAN number.
in my passport): "Abraham Moolenaar". Use Euro for the
currency if possible.
Europe: Use a bank transfer if possible. Your bank should have a form
that you can use for this. See "Others" below for the swift
code and IBAN number.
Any other method should work. Ask for information about Any other method should work. Ask for information about
sponsorship. sponsorship.
@ -261,28 +247,12 @@ Credit Card: You can use PayPal to send money with a Credit card. This is
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
The e-mail address for sending the money to is: The e-mail address for sending the money to is:
Bram@iccf-holland.org Bram@iccf-holland.org
For amounts above 400 Euro ($500) sending a check is
preferred.
Others: Transfer to one of these accounts if possible: Others: Transfer to one of these accounts if possible:
Postbank, account 4548774 ING bank: IBAN: NL95 INGB 0004 5487 74
Swift code: INGB NL 2A Swift code: INGBNL2A
IBAN: NL95 INGB 0004 5487 74 under the name "stichting ICCF Holland", Amersfoort
under the name "stichting ICCF Holland", Lisse Checks are not accepted.
If that doesn't work:
Rabobank Lisse, account 3765.05.117
Swift code: RABO NL 2U
under the name "Bram Moolenaar", Lisse
Otherwise, send a check in euro or US dollars to the address
below. Minimal amount: $70 (my bank does not accept smaller
amounts for foreign check, sorry)
Address to send checks to:
Bram Moolenaar
Finsterruetihof 1
8134 Adliswil
Switzerland
This address is expected to be valid for a long time.
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,7 +1,7 @@
" Vim support file to switch on loading plugins for file types " Vim support file to switch on loading plugins for file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2006 Apr 30 " Last change: 2022 Feb 04
if exists("did_load_ftplugin") if exists("did_load_ftplugin")
finish finish
@ -10,26 +10,26 @@ let did_load_ftplugin = 1
augroup filetypeplugin augroup filetypeplugin
au FileType * call s:LoadFTPlugin() au FileType * call s:LoadFTPlugin()
func! s:LoadFTPlugin()
if exists("b:undo_ftplugin")
exe b:undo_ftplugin
unlet! b:undo_ftplugin b:did_ftplugin
endif
let s = expand("<amatch>")
if s != ""
if &cpo =~# "S" && exists("b:did_ftplugin")
" In compatible mode options are reset to the global values, need to
" set the local values also when a plugin was already used.
unlet b:did_ftplugin
endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "aaa" and then "bbb".
for name in split(s, '\.')
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
endfor
endif
endfunc
augroup END augroup END
def s:LoadFTPlugin()
if exists("b:undo_ftplugin")
exe b:undo_ftplugin
unlet! b:undo_ftplugin b:did_ftplugin
endif
var s = expand("<amatch>")
if s != ""
if &cpo =~# "S" && exists("b:did_ftplugin")
# In compatible mode options are reset to the global values, need to
# set the local values also when a plugin was already used.
unlet b:did_ftplugin
endif
# When there is a dot it is used to separate filetype names. Thus for
# "aaa.bbb" load "aaa" and then "bbb".
for name in split(s, '\.')
exe 'runtime! ftplugin/' .. name .. '.vim ftplugin/' .. name .. '_*.vim ftplugin/' .. name .. '/*.vim'
endfor
endif
enddef

View File

@ -1,7 +1,7 @@
" Vim support file to switch on loading indent files for file types " Vim support file to switch on loading indent files for file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Feb 22 " Last Change: 2022 Feb 04
if exists("did_indent_on") if exists("did_indent_on")
finish finish
@ -10,22 +10,23 @@ let did_indent_on = 1
augroup filetypeindent augroup filetypeindent
au FileType * call s:LoadIndent() au FileType * call s:LoadIndent()
func! s:LoadIndent()
if exists("b:undo_indent")
exe b:undo_indent
unlet! b:undo_indent b:did_indent
endif
let s = expand("<amatch>")
if s != ""
if exists("b:did_indent")
unlet b:did_indent
endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
for name in split(s, '\.')
exe 'runtime! indent/' . name . '.vim'
endfor
endif
endfunc
augroup END augroup END
def s:LoadIndent()
if exists("b:undo_indent")
exe b:undo_indent
unlet! b:undo_indent b:did_indent
endif
var s = expand("<amatch>")
if s != ""
if exists("b:did_indent")
unlet b:did_indent
endif
# When there is a dot it is used to separate filetype names. Thus for
# "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
for name in split(s, '\.')
exe 'runtime! indent/' .. name .. '.vim'
endfor
endif
enddef

View File

@ -1,52 +1,54 @@
" Script to define the syntax menu in synmenu.vim vim9script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Dec 07
" This is used by "make menu" in the src directory. # Script to define the syntax menu in synmenu.vim
# Maintainer: Bram Moolenaar <Bram@vim.org>
# Last Change: 2022 Feb 04
# This is used by "make menu" in the src directory.
edit <sfile>:p:h/synmenu.vim edit <sfile>:p:h/synmenu.vim
/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d :/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
let s:lnum = line(".") - 1 var lnum = line(".") - 1
call append(s:lnum, "") call append(lnum, "")
let s:lnum = s:lnum + 1 lnum += 1
" Use the SynMenu command and function to define all menu entries # Use the SynMenu command and function to define all menu entries
command! -nargs=* SynMenu call <SID>Syn(<q-args>) command! -nargs=* SynMenu call Syn(<q-args>)
let s:cur_menu_name = "" var cur_menu_name = ""
let s:cur_menu_nr = 0 var cur_menu_nr = 0
let s:cur_menu_item = 0 var cur_menu_item = 0
let s:cur_menu_char = "" var cur_menu_char = ""
fun! <SID>Syn(arg) def Syn(arg: string)
" isolate menu name: until the first dot # isolate menu name: until the first dot
let i = match(a:arg, '\.') var i = match(arg, '\.')
let menu_name = strpart(a:arg, 0, i) var menu_name = strpart(arg, 0, i)
let r = strpart(a:arg, i + 1, 999) var r = strpart(arg, i + 1, 999)
" isolate submenu name: until the colon # isolate submenu name: until the colon
let i = match(r, ":") i = match(r, ":")
let submenu_name = strpart(r, 0, i) var submenu_name = strpart(r, 0, i)
" after the colon is the syntax name # after the colon is the syntax name
let syntax_name = strpart(r, i + 1, 999) var syntax_name = strpart(r, i + 1, 999)
if s:cur_menu_name != menu_name if cur_menu_name != menu_name
let s:cur_menu_name = menu_name cur_menu_name = menu_name
let s:cur_menu_nr = s:cur_menu_nr + 10 cur_menu_nr += 10
let s:cur_menu_item = 100 cur_menu_item = 100
let s:cur_menu_char = submenu_name[0] cur_menu_char = submenu_name[0]
else else
" When starting a new letter, insert a menu separator. # When starting a new letter, insert a menu separator.
let c = submenu_name[0] var c = submenu_name[0]
if c != s:cur_menu_char if c != s:cur_menu_char
exe 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>' exe 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. ".-" .. c .. '- <nul>'
let s:cur_menu_item = s:cur_menu_item + 10 cur_menu_item += 10
let s:cur_menu_char = c cur_menu_char = c
endif endif
endif endif
call append(s:lnum, 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>') append(lnum, 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. "." .. submenu_name .. ' :cal SetSyn("' .. syntax_name .. '")<CR>')
let s:cur_menu_item = s:cur_menu_item + 10 cur_menu_item += 10
let s:lnum = s:lnum + 1 lnum += 1
endfun enddef
SynMenu AB.A2ps\ config:a2ps SynMenu AB.A2ps\ config:a2ps
SynMenu AB.Aap:aap SynMenu AB.Aap:aap
@ -676,6 +678,6 @@ SynMenu WXYZ.YAML:yaml
SynMenu WXYZ.Yacc:yacc SynMenu WXYZ.Yacc:yacc
SynMenu WXYZ.Zimbu:zimbu SynMenu WXYZ.Zimbu:zimbu
call append(s:lnum, "") append(lnum, "")
wq wq

File diff suppressed because it is too large Load Diff

View File

@ -2,31 +2,26 @@
" This file is normally sourced from menu.vim. " This file is normally sourced from menu.vim.
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Oct 28 " Last Change: 2022 Feb 04
" Define the SetSyn function, used for the Syntax menu entries. " Define the SetSyn function, used for the Syntax menu entries.
" Set 'filetype' and also 'syntax' if it is manually selected. " Set 'filetype' and also 'syntax' if it is manually selected.
fun! SetSyn(name) def SetSyn(name: string)
if a:name == "fvwm1" var filetype = name
let use_fvwm_1 = 1 if name == "fvwm1" || name == "fvwm2"
let use_fvwm_2 = 0 g:use_fvwm_1 = name == "fvwm1"
let name = "fvwm" g:use_fvwm_2 = name == "fvwm2"
elseif a:name == "fvwm2" filetype = "fvwm"
let use_fvwm_2 = 1
let use_fvwm_1 = 0
let name = "fvwm"
else
let name = a:name
endif endif
if !exists("s:syntax_menu_synonly") if !exists("s:syntax_menu_synonly")
exe "set ft=" . name exe "set ft=" .. filetype
if exists("g:syntax_manual") if exists("g:syntax_manual")
exe "set syn=" . name exe "set syn=" .. filetype
endif endif
else else
exe "set syn=" . name exe "set syn=" .. filetype
endif endif
endfun enddef
" <> notation is used here, remove '<' from 'cpoptions' " <> notation is used here, remove '<' from 'cpoptions'
let s:cpo_save = &cpo let s:cpo_save = &cpo
@ -404,7 +399,6 @@ an 50.90.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR>
an 50.90.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR> an 50.90.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
an 50.90.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR> an 50.90.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
an 50.90.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR> an 50.90.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR>
an 50.90.490 &Syntax.PQ.Pbtxt :cal SetSyn("pbtxt")<CR>
an 50.90.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR> an 50.90.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
an 50.90.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR> an 50.90.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR>
an 50.90.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR> an 50.90.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
@ -457,19 +451,20 @@ an 50.100.180 &Syntax.R.RCS.RCS\ file :cal SetSyn("rcs")<CR>
an 50.100.190 &Syntax.R.Readline\ config :cal SetSyn("readline")<CR> an 50.100.190 &Syntax.R.Readline\ config :cal SetSyn("readline")<CR>
an 50.100.200 &Syntax.R.Rebol :cal SetSyn("rebol")<CR> an 50.100.200 &Syntax.R.Rebol :cal SetSyn("rebol")<CR>
an 50.100.210 &Syntax.R.ReDIF :cal SetSyn("redif")<CR> an 50.100.210 &Syntax.R.ReDIF :cal SetSyn("redif")<CR>
an 50.100.220 &Syntax.R.Relax\ NG :cal SetSyn("rng")<CR> an 50.100.220 &Syntax.R.Rego :cal SetSyn("rego")<CR>
an 50.100.230 &Syntax.R.Remind :cal SetSyn("remind")<CR> an 50.100.230 &Syntax.R.Relax\ NG :cal SetSyn("rng")<CR>
an 50.100.240 &Syntax.R.Relax\ NG\ compact :cal SetSyn("rnc")<CR> an 50.100.240 &Syntax.R.Remind :cal SetSyn("remind")<CR>
an 50.100.250 &Syntax.R.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR> an 50.100.250 &Syntax.R.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
an 50.100.260 &Syntax.R.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR> an 50.100.260 &Syntax.R.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
an 50.100.270 &Syntax.R.Resolv\.conf :cal SetSyn("resolv")<CR> an 50.100.270 &Syntax.R.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
an 50.100.280 &Syntax.R.Reva\ Forth :cal SetSyn("reva")<CR> an 50.100.280 &Syntax.R.Resolv\.conf :cal SetSyn("resolv")<CR>
an 50.100.290 &Syntax.R.Rexx :cal SetSyn("rexx")<CR> an 50.100.290 &Syntax.R.Reva\ Forth :cal SetSyn("reva")<CR>
an 50.100.300 &Syntax.R.Robots\.txt :cal SetSyn("robots")<CR> an 50.100.300 &Syntax.R.Rexx :cal SetSyn("rexx")<CR>
an 50.100.310 &Syntax.R.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR> an 50.100.310 &Syntax.R.Robots\.txt :cal SetSyn("robots")<CR>
an 50.100.320 &Syntax.R.Rpcgen :cal SetSyn("rpcgen")<CR> an 50.100.320 &Syntax.R.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
an 50.100.330 &Syntax.R.RPL/2 :cal SetSyn("rpl")<CR> an 50.100.330 &Syntax.R.Rpcgen :cal SetSyn("rpcgen")<CR>
an 50.100.340 &Syntax.R.ReStructuredText :cal SetSyn("rst")<CR> an 50.100.340 &Syntax.R.RPL/2 :cal SetSyn("rpl")<CR>
an 50.100.350 &Syntax.R.ReStructuredText :cal SetSyn("rst")<CR>
an 50.110.100 &Syntax.M.ReStructuredText\ with\ R\ statements :cal SetSyn("rrst")<CR> an 50.110.100 &Syntax.M.ReStructuredText\ with\ R\ statements :cal SetSyn("rrst")<CR>
an 50.120.100 &Syntax.R.RTF :cal SetSyn("rtf")<CR> an 50.120.100 &Syntax.R.RTF :cal SetSyn("rtf")<CR>
an 50.120.110 &Syntax.R.Ruby :cal SetSyn("ruby")<CR> an 50.120.110 &Syntax.R.Ruby :cal SetSyn("ruby")<CR>
@ -652,11 +647,11 @@ an 50.170.440 &Syntax.WXYZ.Zimbu :cal SetSyn("zimbu")<CR>
an 50.195 &Syntax.-SEP1- <Nop> an 50.195 &Syntax.-SEP1- <Nop>
an <silent> 50.200 &Syntax.Set\ '&syntax'\ Only :call <SID>Setsynonly()<CR> an <silent> 50.200 &Syntax.Set\ '&syntax'\ Only :call <SID>Setsynonly()<CR>
fun! s:Setsynonly() fun s:Setsynonly()
let s:syntax_menu_synonly = 1 let s:syntax_menu_synonly = 1
endfun endfun
an <silent> 50.202 &Syntax.Set\ '&filetype'\ Too :call <SID>Nosynonly()<CR> an <silent> 50.202 &Syntax.Set\ '&filetype'\ Too :call <SID>Nosynonly()<CR>
fun! s:Nosynonly() fun s:Nosynonly()
if exists("s:syntax_menu_synonly") if exists("s:syntax_menu_synonly")
unlet s:syntax_menu_synonly unlet s:syntax_menu_synonly
endif endif