summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-07-01 18:45:04 +0100
committerBram Moolenaar <Bram@vim.org>2022-07-01 18:45:04 +0100
commit0d878b95d8f9ece2fdba81050f5caba224540f9c (patch)
tree20cf23db136c9df0fed67fb1ff30df7a43ee38c4
parent27efc62f5d86afcb2ecb7565587fe8dea4b036fe (diff)
Update runtime files
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--Filelist2
-rw-r--r--README.md2
-rw-r--r--runtime/autoload/freebasic.vim7
-rw-r--r--runtime/doc/filetype.txt19
-rw-r--r--runtime/doc/quickfix.txt3
-rw-r--r--runtime/doc/syntax.txt15
-rw-r--r--runtime/doc/tags17
-rw-r--r--runtime/doc/todo.txt22
-rw-r--r--runtime/doc/xxd.man26
-rw-r--r--runtime/ftplugin/basic.vim13
-rw-r--r--runtime/ftplugin/fetchmail.vim15
-rw-r--r--runtime/ftplugin/freebasic.vim32
-rw-r--r--runtime/ftplugin/vue.vim24
-rw-r--r--runtime/pack/dist/opt/cfilter/plugin/cfilter.vim120
-rw-r--r--runtime/spell/sr/README_sr.txt14
-rw-r--r--runtime/spell/sr/convert.vim30
-rw-r--r--runtime/syntax/basic.vim4
-rw-r--r--runtime/syntax/fetchmail.vim110
-rw-r--r--runtime/syntax/freebasic.vim685
20 files changed, 869 insertions, 294 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f5a45c4d95..16b73fa857 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -111,6 +111,7 @@ runtime/ftplugin/dosbatch.vim @mrdubya
runtime/ftplugin/eiffel.vim @dkearns
runtime/ftplugin/erlang.vim @hcs42
runtime/ftplugin/eruby.vim @tpope @dkearns
+runtime/ftplugin/fetchmail.vim @dkearns
runtime/ftplugin/fpcmake.vim @dkearns
runtime/ftplugin/freebasic.vim @dkearns
runtime/ftplugin/fstab.vim @rid9
@@ -298,8 +299,10 @@ runtime/syntax/erlang.vim @hcs42
runtime/syntax/eruby.vim @tpope @dkearns
runtime/syntax/exports.vim @cecamp
runtime/syntax/falcon.vim @steveno
+runtime/syntax/fetchmail.vim @dkearns
runtime/syntax/forth.vim @jkotlinski
runtime/syntax/fpcmake.vim @dkearns
+runtime/syntax/freebasic.vim @dkearns
runtime/syntax/fstab.vim @rid9
runtime/syntax/git.vim @tpope
runtime/syntax/gitcommit.vim @tpope
diff --git a/Filelist b/Filelist
index 78cab25d65..4dede18a87 100644
--- a/Filelist
+++ b/Filelist
@@ -15,7 +15,6 @@ SRC_ALL = \
.gitignore \
.hgignore \
.lgtm.yml \
- .travis.yml \
.appveyor.yml \
.codecov.yml \
ci/appveyor.bat \
@@ -1017,6 +1016,7 @@ LANG_GEN = \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/sr/README_sr.txt \
+ runtime/spell/sr/convert.vim \
runtime/spell/tet/*.diff \
runtime/spell/tet/main.aap \
runtime/spell/check/main.aap \
diff --git a/README.md b/README.md
index 214bedfee0..2a78adc986 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[![Vim Logo](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)
-[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [![Travis Build Status](https://travis-ci.com/vim/vim.svg?branch=master)](https://travis-ci.com/github/vim/vim) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim) [![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim) [![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim) [![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp) [![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim) [![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim) [![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
+[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim) [![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim) [![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim) [![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp) [![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim) [![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim) [![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
<sub>For translations of this README see the end.</sub>
diff --git a/runtime/autoload/freebasic.vim b/runtime/autoload/freebasic.vim
index 428cf1382b..6c94cd34ea 100644
--- a/runtime/autoload/freebasic.vim
+++ b/runtime/autoload/freebasic.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: FreeBASIC
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2021 Mar 16
+" Last Change: 2022 June 24
" Dialects can be one of fb, qb, fblite, or deprecated
" Precedence is forcelang > #lang > lang
@@ -18,17 +18,16 @@ function! freebasic#GetDialect() abort
" override with #lang directive or metacommand
- let skip = "has('syntax_items') && synIDattr(synID(line('.'), col('.'), 1), 'name') =~ 'Comment$'"
let pat = '\c^\s*\%(#\s*lang\s\+\|''\s*$lang\s*:\s*\)"\([^"]*\)"'
let save_cursor = getcurpos()
call cursor(1, 1)
- let lnum = search(pat, 'n', '', '', skip)
+ let lnum = search(pat, 'cn')
call setpos('.', save_cursor)
if lnum
let word = matchlist(getline(lnum), pat)[1]
- if word =~? '\%(fb\|deprecated\|fblite\|qb\)'
+ if word =~? '\<\%(fb\|deprecated\|fblite\|qb\)\>'
let dialect = word
else
echomsg "freebasic#GetDialect: Invalid lang, found '" .. word .. "' at line " .. lnum .. " " .. getline(lnum)
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 90ae3e7ac0..d04e4ac132 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -556,12 +556,30 @@ For further discussion of fortran_have_tabs and the method used for the
detection of source format see |ft-fortran-syntax|.
+FREEBASIC *ft-freebasic-plugin*
+
+This plugin aims to treat the four FreeBASIC dialects, "fb", "qb", "fblite"
+and "deprecated", as distinct languages.
+
+The dialect will be set to the first name found in g:freebasic_forcelang, any
+#lang directive or $lang metacommand in the file being edited, or finally
+g:freebasic_lang. These global variables conceptually map to the fbc options
+-forcelang and -lang. If no dialect is explicitly specified "fb" will be
+used.
+
+For example, to set the dialect to a default of "fblite" but still allow for
+any #lang directive overrides, use the following command: >
+
+ let g:freebasic_lang = "fblite"
+
+
GIT COMMIT *ft-gitcommit-plugin*
One command, :DiffGitCached, is provided to show a diff of the current commit
in the preview window. It is equivalent to calling "git diff --cached" plus
any arguments given to the command.
+
GPROF *ft-gprof-plugin*
The gprof filetype plugin defines a mapping <C-]> to jump from a function
@@ -571,6 +589,7 @@ to the details of that function in the call graph.
The mapping can be disabled with: >
let g:no_gprof_maps = 1
+
MAIL *ft-mail-plugin*
Options:
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 0db6407026..67947854df 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -568,6 +568,9 @@ pattern is used.
The |:Lfilter| command does the same as |:Cfilter| but operates on the current
location list.
+The current quickfix/location list is not modified by these commands, so you
+can go back to the unfiltered list using the |:colder|/|:lolder| command.
+
=============================================================================
2. The error window *quickfix-window*
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 1229b19084..86e7edd02c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1694,6 +1694,21 @@ because Fortran90 has no reserved words.
For further information related to fortran, see |ft-fortran-indent| and
|ft-fortran-plugin|.
+FREEBASIC *freebasic.vim* *ft-freebasic-syntax*
+
+FreeBASIC files will be highlighted differently for each of the four available
+dialects, "fb", "qb", "fblite" and "deprecated". See |ft-freebasic-plugin|
+for how to select the correct dialect.
+
+Highlighting is further configurable via the following variables.
+
+Variable Highlight ~
+*freebasic_no_comment_fold* disable multiline comment folding
+*freebasic_operators* non-alpha operators
+*freebasic_space_errors* trailing white space and spaces before a <Tab>
+*freebasic_type_suffixes* QuickBASIC style type suffixes
+
+
FVWM CONFIGURATION FILES *fvwm.vim* *ft-fvwm-syntax*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b3b44e2622..c08a834de1 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -988,6 +988,7 @@ $quote eval.txt /*$quote*
't_Co' term.txt /*'t_Co'*
't_Cs' term.txt /*'t_Cs'*
't_DL' term.txt /*'t_DL'*
+'t_Ds' term.txt /*'t_Ds'*
't_EC' term.txt /*'t_EC'*
't_EI' term.txt /*'t_EI'*
't_F1' term.txt /*'t_F1'*
@@ -1044,6 +1045,7 @@ $quote eval.txt /*$quote*
't_TI' term.txt /*'t_TI'*
't_Te' term.txt /*'t_Te'*
't_Ts' term.txt /*'t_Ts'*
+'t_Us' term.txt /*'t_Us'*
't_VS' term.txt /*'t_VS'*
't_WP' term.txt /*'t_WP'*
't_WS' term.txt /*'t_WS'*
@@ -1059,6 +1061,7 @@ $quote eval.txt /*$quote*
't_da' term.txt /*'t_da'*
't_db' term.txt /*'t_db'*
't_dl' term.txt /*'t_dl'*
+'t_ds' term.txt /*'t_ds'*
't_fd' term.txt /*'t_fd'*
't_fe' term.txt /*'t_fe'*
't_fs' term.txt /*'t_fs'*
@@ -6875,6 +6878,11 @@ format-formatexpr change.txt /*format-formatexpr*
formatting change.txt /*formatting*
forth.vim syntax.txt /*forth.vim*
fortran.vim syntax.txt /*fortran.vim*
+freebasic.vim syntax.txt /*freebasic.vim*
+freebasic_no_comment_fold syntax.txt /*freebasic_no_comment_fold*
+freebasic_operators syntax.txt /*freebasic_operators*
+freebasic_space_errors syntax.txt /*freebasic_space_errors*
+freebasic_type_suffixes syntax.txt /*freebasic_type_suffixes*
friendship intro.txt /*friendship*
frombook usr_01.txt /*frombook*
ft-abel-syntax syntax.txt /*ft-abel-syntax*
@@ -6931,6 +6939,8 @@ ft-forth-syntax syntax.txt /*ft-forth-syntax*
ft-fortran-indent indent.txt /*ft-fortran-indent*
ft-fortran-plugin filetype.txt /*ft-fortran-plugin*
ft-fortran-syntax syntax.txt /*ft-fortran-syntax*
+ft-freebasic-plugin filetype.txt /*ft-freebasic-plugin*
+ft-freebasic-syntax syntax.txt /*ft-freebasic-syntax*
ft-fvwm-syntax syntax.txt /*ft-fvwm-syntax*
ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
@@ -9726,6 +9736,7 @@ t_Ce term.txt /*t_Ce*
t_Co term.txt /*t_Co*
t_Cs term.txt /*t_Cs*
t_DL term.txt /*t_DL*
+t_Ds term.txt /*t_Ds*
t_EC term.txt /*t_EC*
t_EI term.txt /*t_EI*
t_F1 term.txt /*t_F1*
@@ -9782,6 +9793,7 @@ t_TE term.txt /*t_TE*
t_TI term.txt /*t_TI*
t_Te term.txt /*t_Te*
t_Ts term.txt /*t_Ts*
+t_Us term.txt /*t_Us*
t_VS term.txt /*t_VS*
t_WP term.txt /*t_WP*
t_WS term.txt /*t_WS*
@@ -9808,6 +9820,7 @@ t_da term.txt /*t_da*
t_db term.txt /*t_db*
t_dict-variable eval.txt /*t_dict-variable*
t_dl term.txt /*t_dl*
+t_ds term.txt /*t_ds*
t_ed version4.txt /*t_ed*
t_el version4.txt /*t_el*
t_f1 version4.txt /*t_f1*
@@ -10204,7 +10217,11 @@ u undo.txt /*u*
uganda uganda.txt /*uganda*
uganda.txt uganda.txt /*uganda.txt*
undercurl syntax.txt /*undercurl*
+underdashed syntax.txt /*underdashed*
+underdotted syntax.txt /*underdotted*
+underdouble syntax.txt /*underdouble*
underline syntax.txt /*underline*
+underline-codes syntax.txt /*underline-codes*
undo undo.txt /*undo*
undo-blocks undo.txt /*undo-blocks*
undo-branches undo.txt /*undo-branches*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 896be454a1..736340ac46 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,9 +38,6 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Prepare for the Vim 9.0 release:
-- Update version number in help
-
Further Vim9 improvements, possibly after launch:
- Use Vim9 for more runtime files.
- Check performance with callgrind and kcachegrind.
@@ -201,19 +198,11 @@ Terminal emulator window:
conversions.
Patches considered for including:
-- make functions static if possible, add a few tests. #10612
-- use ngettext() in a few more places #10606
-- move f_hasmapto() to map.c #10611
+- Add "-n" option to xxd. #10599 needs a test
- allow for nesting of timeout, sketch in #10595
-- Add "-n" option to xxd. #10599
-- Add support for "underdouble", "underdot" and "underdash". #9553
- Patch to implement the vimtutor with a plugin: #6414
Was originally written by Felipe Morales.
- Patch to make fillchars global-local. (#5206)
-- Version of getchar() that does not move the cursor - #10603
- Use a separate argument for the new flag.
-- Improved VB filetype detection. (Doug Kearns, June 26)
-- Improved FreeBasic runtime files (and a second one). (Doug Kearns, June 26)
Autoconf: must use autoconf 2.69, later version generates lots of warnings
- try using autoconf 2.71 and fix all "obsolete" warnings
@@ -236,6 +225,8 @@ pass it on with modifications.
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
+Typed keys invisible after calling interrupt() from a timer. #10631
+
With a window height of 6 and 'scrolloff' set to 3, using "j" does not scroll
evenly. (#10545) Need to handle this in scroll_cursor_bot().
@@ -254,6 +245,9 @@ The line number can be obtained from win->w_lines[].
MS-Windows: did path modifier :p:8 stop working? #8600
+Version of getchar() that does not move the cursor - #10603 Use a separate
+argument for the new flag.
+
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
Information for a specific terminal (e.g. gnome, tmux, konsole, alacritty) is
@@ -295,6 +289,8 @@ inconsistent with the documentation.
globpath() does not use 'wildignorecase' at all? (related to #8350)
+mksession uses :buffer instead of :edit in one place but not another. #10629
+
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
with 'termguicolors'. #1740
@@ -4423,6 +4419,8 @@ GUI:
Autocommands:
+9 Add WinNewPre - before creating a new window. #10635
+9 When triggering WinNew provide the window ID somehow. #10633
9 Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use
'filetype'. Only for when the current buffer is known.
- Put autocommand event names in a hashtable for faster lookup?
diff --git a/runtime/doc/xxd.man b/runtime/doc/xxd.man
index 26d89e5659..3eae32ab67 100644
--- a/runtime/doc/xxd.man
+++ b/runtime/doc/xxd.man
@@ -46,7 +46,7 @@ OPTIONS
long line of output.
-C | -capitalize
- Capitalize variable names in C include file style, when using
+ Capitalize variable names in C include file style, when using
-i.
-E | -EBCDIC
@@ -57,28 +57,32 @@ OPTIONS
-e Switch to little-endian hexdump. This option treats byte groups
as words in little-endian byte order. The default grouping of 4
bytes may be changed using -g. This option only applies to hex‐
- dump, leaving the ASCII (or EBCDIC) representation unchanged.
+ dump, leaving the ASCII (or EBCDIC) representation unchanged.
The command line switches -r, -p, -i do not work with this mode.
-g bytes | -groupsize bytes
- Separate the output of every <bytes> bytes (two hex characters
+ Separate the output of every <bytes> bytes (two hex characters
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
- tle-endian mode and 1 in bits mode. Grouping does not apply to
+ tle-endian mode and 1 in bits mode. Grouping does not apply to
postscript or include style.
-h | -help
- Print a summary of available commands and exit. No hex dumping
+ Print a summary of available commands and exit. No hex dumping
is performed.
-i | -include
- Output in C include file style. A complete static array defini‐
- tion is written (named after the input file), unless xxd reads
+ Output in C include file style. A complete static array defini‐
+ tion is written (named after the input file), unless xxd reads
from stdin.
-l len | -len len
Stop after writing <len> octets.
+ -n name | -name name
+ Override the variable name output when -i is used. The array is
+ named name and the length is named name_len.
+
-o offset
Add <offset> to the displayed file position.
@@ -91,8 +95,8 @@ OPTIONS
not writing to stdout, xxd writes into its output file without
truncating it. Use the combination -r -p to read plain hexadeci‐
mal dumps without line number information and without a particu‐
- lar column layout. Additional Whitespace and line-breaks are
- allowed anywhere.
+ lar column layout. Additional Whitespace and line-breaks are al‐
+ lowed anywhere.
-seek offset
When used after -r: revert with <offset> added to file positions
@@ -209,8 +213,8 @@ EXAMPLES
*
000fffc: 0000 0000 40 ....A
- Create a 1 byte file containing a single 'A' character. The number
- after '-r -s' adds to the linenumbers found in the file; in effect, the
+ Create a 1 byte file containing a single 'A' character. The number af‐
+ ter '-r -s' adds to the linenumbers found in the file; in effect, the
leading bytes are suppressed.
% echo "010000: 41" | xxd -r -s -0x10000 > file
diff --git a/runtime/ftplugin/basic.vim b/runtime/ftplugin/basic.vim
index a8f6b088d1..4399fbf3ad 100644
--- a/runtime/ftplugin/basic.vim
+++ b/runtime/ftplugin/basic.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: BASIC (QuickBASIC 4.5)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2021 Mar 16
+" Last Change: 2022 Jun 22
if exists("b:did_ftplugin")
finish
@@ -15,6 +15,8 @@ setlocal comments=:REM\ ,:Rem\ ,:rem\ ,:'
setlocal commentstring='\ %s
setlocal formatoptions-=t formatoptions+=croql
+let b:undo_ftplugin = "setl fo< com< cms<"
+
" TODO: support exit ... as middle matches?
if exists("loaded_matchit") && !exists("b:match_words")
let s:line_start = '\%(^\s*\)\@<='
@@ -33,10 +35,11 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ '\<while\>:\<wend\>,' ..
\ s:line_start .. 'if\%(.*\<then\s*\%($\|''\)\)\@=:\<\%(' .. s:line_start .. 'else\|elseif\)\>:\<end\s\+if\>,' ..
\ '\<lock\>:\<unlock\>'
-
let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string" || ' ..
\ 'strpart(getline("."), 0, col(".") ) =~? "\\<exit\\s\\+"'
+ let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_skip b:match_words"
+
unlet s:line_start s:not_end s:not_end_or_exit
endif
@@ -44,12 +47,10 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" ..
\ "BASIC Include Files (*.bi, *.bm)\t*.bi;*.bm\n" ..
\ "All Files (*.*)\t*.*\n"
+ let b:basic_set_browsefilter = 1
+ let b:undo_ftplugin ..= " | unlet! b:browsefilter b:basic_set_browsefilter"
endif
-let b:undo_ftplugin = "setl fo< com< cms<" ..
- \ " | unlet! b:match_ignorecase b:match_skip b:match_words" ..
- \ " | unlet! b:browsefilter"
-
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/runtime/ftplugin/fetchmail.vim b/runtime/ftplugin/fetchmail.vim
index 33bb417be4..032f6610f9 100644
--- a/runtime/ftplugin/fetchmail.vim
+++ b/runtime/ftplugin/fetchmail.vim
@@ -1,19 +1,16 @@
" Vim filetype plugin file
-" Language: fetchmail(1) RC File
-" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2008-07-09
+" Language: fetchmail(1) RC File
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2022 Jun 30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let s:cpo_save = &cpo
-set cpo&vim
+setlocal comments=:# commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
diff --git a/runtime/ftplugin/freebasic.vim b/runtime/ftplugin/freebasic.vim
index 58c2b4c9e2..1680e84c9c 100644
--- a/runtime/ftplugin/freebasic.vim
+++ b/runtime/ftplugin/freebasic.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: FreeBASIC
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2021 Mar 16
+" Last Change: 2022 Jun 24
" Setup {{{1
if exists("b:did_ftplugin")
@@ -21,7 +21,8 @@ let &l:comments = "sO:*\ -,mO:*\ \ ,exO:*/,s1:/',mb:',ex:'/,:''," .. &l:comments
" Match words {{{1
if exists("loaded_matchit")
- let s:not_end = '\%(end\s\+\)\@<!'
+ let s:line_start = '\%(^\s*\)\@<='
+ let s:not_end = '\%(end\s\+\)\@<!'
let b:match_words ..= ','
@@ -49,17 +50,32 @@ if exists("loaded_matchit")
endif
let b:match_words ..= s:not_end .. '\<enum\>:\<end\s\+enum\>,' ..
- \ '^#\s*\%(if\|ifdef\|ifndef\)\>:^#\s*\%(else\|elseif\)\>:^#\s*endif\>,' ..
- \ '^#\s*macro\>:^#\s*endmacro\>'
+ \ s:line_start .. '#\s*\%(if\|ifdef\|ifndef\)\>:' ..
+ \ s:line_start .. '#\s*\%(else\|elseif\)\>:' ..
+ \ s:line_start .. '#\s*endif\>,' ..
+ \ s:line_start .. '#\s*macro\>:' .. s:line_start .. '#\s*endmacro\>,' ..
+ \ "/':'/"
- " skip "function = <retval>"
- let b:match_skip ..= '|| strpart(getline("."), col(".") - 1) =~? "^\\<function\\s\\+="'
+ " skip "function = <retval>" and "continue { do | for | while }"
+ if s:dialect == "qb"
+ let s:continue = "__continue"
+ else
+ let s:continue = "continue"
+ endif
+ let b:match_skip ..= ' || strpart(getline("."), col(".") - 1) =~? "^\\<function\\s\\+="' ..
+ \ ' || strpart(getline("."), 0, col(".") ) =~? "\\<' .. s:continue .. '\\s\\+"'
+
+ unlet s:not_end s:line_start
+endif
- unlet s:not_end
+if (has("gui_win32") || has("gui_gtk")) && exists("b:basic_set_browsefilter")
+ let b:browsefilter = "FreeBASIC Source Files (*.bas)\t*.bas\n" ..
+ \ "FreeBASIC Header Files (*.bi)\t*.bi\n" ..
+ \ "All Files (*.*)\t*.*\n"
endif
" Cleanup {{{1
let &cpo = s:cpo_save
-unlet s:cpo_save
+unlet s:cpo_save s:dialect
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
diff --git a/runtime/ftplugin/vue.vim b/runtime/ftplugin/vue.vim
new file mode 100644
index 0000000000..e8833742ad
--- /dev/null
+++ b/runtime/ftplugin/vue.vim
@@ -0,0 +1,24 @@
+" Vim filetype plugin file
+" Language: vue
+
+if exists("b:did_ftplugin") | finish | endif
+let b:did_ftplugin = 1
+
+" Make sure the continuation lines below do not cause problems in
+" compatibility mode.
+let s:save_cpo = &cpo
+set cpo-=C
+
+" Copied from ftplugin/html.vim
+" Original thanks to Johannes Zellner and Benji Fisher.
+if exists("loaded_matchit")
+ let b:match_ignorecase = 1
+ let b:match_words = '<:>,'
+ \ .. '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,'
+ \ .. '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,'
+ \ .. '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+endif
+
+" Restore the saved compatibility options.
+let &cpo = s:save_cpo
+unlet s:save_cpo
diff --git a/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim b/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
index fe4455fe2e..7a65630786 100644
--- a/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
+++ b/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
@@ -1,62 +1,72 @@
-" cfilter.vim: Plugin to filter entries from a quickfix/location list
-" Last Change: Aug 23, 2018
-" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-" Version: 1.1
-"
-" Commands to filter the quickfix list:
-" :Cfilter[!] /{pat}/
-" Create a new quickfix list from entries matching {pat} in the current
-" quickfix list. Both the file name and the text of the entries are
-" matched against {pat}. If ! is supplied, then entries not matching
-" {pat} are used. The pattern can be optionally enclosed using one of
-" the following characters: ', ", /. If the pattern is empty, then the
-" last used search pattern is used.
-" :Lfilter[!] /{pat}/
-" Same as :Cfilter but operates on the current location list.
-"
-if exists("loaded_cfilter")
- finish
-endif
-let loaded_cfilter = 1
-
-func s:Qf_filter(qf, searchpat, bang)
- if a:qf
- let Xgetlist = function('getqflist')
- let Xsetlist = function('setqflist')
- let cmd = ':Cfilter' . a:bang
- else
- let Xgetlist = function('getloclist', [0])
- let Xsetlist = function('setloclist', [0])
- let cmd = ':Lfilter' . a:bang
- endif
+vim9script
- let firstchar = a:searchpat[0]
- let lastchar = a:searchpat[-1:]
- if firstchar == lastchar &&
- \ (firstchar == '/' || firstchar == '"' || firstchar == "'")
- let pat = a:searchpat[1:-2]
- if pat == ''
- " Use the last search pattern
- let pat = @/
- endif
- else
- let pat = a:searchpat
- endif
+# cfilter.vim: Plugin to filter entries from a quickfix/location list
+# Last Change: Jun 30, 2022
+# Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
+# Version: 2.0
+#
+# Commands to filter the quickfix list:
+# :Cfilter[!] /{pat}/
+# Create a new quickfix list from entries matching {pat} in the current
+# quickfix list. Both the file name and the text of the entries are
+# matched against {pat}. If ! is supplied, then entries not matching
+# {pat} are used. The pattern can be optionally enclosed using one of
+# the following characters: ', ", /. If the pattern is empty, then the
+# last used search pattern is used.
+# :Lfilter[!] /{pat}/
+# Same as :Cfilter but operates on the current location list.
+#
+
+def Qf_filter(qf: bool, searchpat: string, bang: string)
+ var Xgetlist: func
+ var Xsetlist: func
+ var cmd: string
+ var firstchar: string
+ var lastchar: string
+ var pat: string
+ var title: string
+ var Cond: func
+ var items: list<any>
+
+ if qf
+ Xgetlist = function('getqflist')
+ Xsetlist = function('setqflist')
+ cmd = ':Cfilter' .. bang
+ else
+ Xgetlist = function('getloclist', [0])
+ Xsetlist = function('setloclist', [0])
+ cmd = ':Lfilter' .. bang
+ endif
+ firstchar = searchpat[0]
+ lastchar = searchpat[-1 :]
+ if firstchar == lastchar &&
+ (firstchar == '/' || firstchar == '"' || firstchar == "'")
+ pat = searchpat[1 : -2]
if pat == ''
- return
+ # Use the last search pattern
+ pat = @/
endif
+ else
+ pat = searchpat
+ endif
- if a:bang == '!'
- let cond = 'v:val.text !~# pat && bufname(v:val.bufnr) !~# pat'
- else
- let cond = 'v:val.text =~# pat || bufname(v:val.bufnr) =~# pat'
- endif
+ if pat == ''
+ return
+ endif
+
+ if bang == '!'
+ Cond = (_, val) => val.text !~# pat && bufname(val.bufnr) !~# pat
+ else
+ Cond = (_, val) => val.text =~# pat || bufname(val.bufnr) =~# pat
+ endif
+
+ items = filter(Xgetlist(), Cond)
+ title = cmd .. ' /' .. pat .. '/'
+ Xsetlist([], ' ', {title: title, items: items})
+enddef
- let items = filter(Xgetlist(), cond)
- let title = cmd . ' /' . pat . '/'
- call Xsetlist([], ' ', {'title' : title, 'items' : items})
-endfunc
+command! -nargs=+ -bang Cfilter Qf_filter(true, <q-args>, <q-bang>)
+command! -nargs=+ -bang Lfilter Qf_filter(false, <q-args>, <q-bang>)
-com! -nargs=+ -bang Cfilter call s:Qf_filter(1, <q-args>, <q-bang>)
-com! -nargs=+ -bang Lfilter call s:Qf_filter(0, <q-args>, <q-bang>)
+# vim: shiftwidth=2 sts=2 expandtab
diff --git a/runtime/spell/sr/README_sr.txt b/runtime/spell/sr/README_sr.txt
index 8f7c908ddf..6a3b10a0dc 100644
--- a/runtime/spell/sr/README_sr.txt
+++ b/runtime/spell/sr/README_sr.txt
@@ -40,6 +40,20 @@ continues monotonically after the last flag number in cyrillic .aff file.
A couple of words in cyrillic dict used a latin codepoints for 'a' and 'e',
that was also corrected.
+You should be able to reproduce this with these steps:
+ * Save the existing sr.aff and sr.dic files, if you have them, they will be
+ overwritten.
+ * Create a subfolder "new".
+ * Put 4 files downloaded from LibreOffice dictionaries GitHub repository in
+ it: sr.aff, sr-Latn.aff, sr.dic and sr-Latn.dic
+ * Open Vim and cd into "new"
+ * Execute: :so ../convert.vim
+ * The resulting sr.aff and sr.dic are created in the parent spell folder
+ (here).
+ * Now one can generate spl file as usual using the merged dic and aff
+ files:
+ env LANG=sr_RS.UTF-8 vim -u NONE -e -c "set enc=utf-8" -c "mkspell! ../sr sr" -c q
+
Ivan Pešić
28.06.2022.
diff --git a/runtime/spell/sr/convert.vim b/runtime/spell/sr/convert.vim
new file mode 100644
index 0000000000..731986e9b0
--- /dev/null
+++ b/runtime/spell/sr/convert.vim
@@ -0,0 +1,30 @@
+:e sr.aff
+:normal gg
+:normal wgu$
+:3d
+:4d
+:normal G
+:normal o
+:r sr-Latn.aff
+:%s#^\(SFX\|PFX\).*[а-џa-ž]\zs$# .#g
+:normal G
+?SET
+:.,+5d
+:.,$s#^\(SFX\|PFX\) \zs\(\d\+\)#\= eval(submatch(2) .. ' + 1903')#
+:w ../sr.aff
+:bd!
+:e sr.dic
+:%s#a#а#g
+:%s#e#е#g
+:normal G
+:normal o
+:r sr-Latn.dic
+:normal 201dd
+:.,$s#/\zs\(\d\+\)\(,\(\d\+\)\)\?$#\=(submatch(2) == '') ? eval(submatch(1) + '1903') : eval(submatch(1) + '1903') .. ',' .. eval(submatch(3) + '1903')#
+:normal {
+:normal dd
+:normal gg
+:normal C502898
+:w ../sr.dic
+:bd!
+:q!
diff --git a/runtime/syntax/basic.vim b/runtime/syntax/basic.vim
index 7fe411a869..b6bf23a3ed 100644
--- a/runtime/syntax/basic.vim
+++ b/runtime/syntax/basic.vim
@@ -3,7 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Allan Kelly <allan@fruitloaf.co.uk>
" Contributors: Thilo Six
-" Last Change: 2021 Aug 08
+" Last Change: 2022 Jun 22
" First version based on Micro$soft QBASIC circa 1989, as documented in
" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
@@ -344,7 +344,7 @@ hi def link basicCommentError Error
hi def link basicDataString basicString
hi def link basicFilenumber basicTypeSuffix " TODO: better group
hi def link basicFloat Float
-hi def link basicFunction Identifier
+hi def link basicFunction Function
hi def link basicKeyword Keyword
hi def link basicLineIdentifier LineNr
hi def link basicLineContinuation Special
diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
index 7a421050d0..f9c8e0112f 100644
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,7 +1,10 @@
" Vim syntax file
-" Language: fetchmail(1) RC File
-" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-04-19
+" Language: fetchmail(1) RC File
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2022 Jun 30
+
+" Version 6.4.3
if exists("b:current_syntax")
finish
@@ -10,64 +13,69 @@ endif
let s:cpo_save = &cpo
s