diff options
author | Sean Dewar <seandewar@users.noreply.github.com> | 2022-11-24 10:23:50 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-24 10:23:50 +0000 |
commit | 868d8d69627c4b8fd5225da0dff5905f75645946 (patch) | |
tree | 56f21690606a99140cfc2df4422626d56b1fca51 /runtime/ftplugin/obse.vim | |
parent | c9adbcafaec6c7aecb01e8f06a423a74b0a01116 (diff) | |
download | rneovim-868d8d69627c4b8fd5225da0dff5905f75645946.tar.gz rneovim-868d8d69627c4b8fd5225da0dff5905f75645946.tar.bz2 rneovim-868d8d69627c4b8fd5225da0dff5905f75645946.zip |
vim-patch:partial:b59ae59a5870 (#21170)
Update runtime files
https://github.com/vim/vim/commit/b59ae59a58706e454ef8c78276f021b1f58466e7
- Omit `map()` lambda arg comment. Not worth mentioning for legacy script
(and is already hinted at below).
- Cherry-pick latest `'thesaurusfunc'` example.
- Skip `optwin.vim` `'keyprotocol'` change.
- 🧜♀️
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'runtime/ftplugin/obse.vim')
-rw-r--r-- | runtime/ftplugin/obse.vim | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/runtime/ftplugin/obse.vim b/runtime/ftplugin/obse.vim new file mode 100644 index 0000000000..6d865f05ee --- /dev/null +++ b/runtime/ftplugin/obse.vim @@ -0,0 +1,70 @@ +" Vim filetype plugin file +" Language: Oblivion Language (obl) +" Original Creator: Kat <katisntgood@gmail.com> +" Maintainer: Kat <katisntgood@gmail.com> +" Created: August 08, 2021 +" Last Change: 13 November 2022 + +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms<" + +noremap <script> <buffer> <silent> [[ <nop> +noremap <script> <buffer> <silent> ]] <nop> + +noremap <script> <buffer> <silent> [] <nop> +noremap <script> <buffer> <silent> ][ <nop> + +setlocal commentstring=;%s +setlocal comments=:; + +function s:NextSection(type, backwards, visual) + if a:visual + normal! gv + endif + + if a:type == 1 + let pattern = '\v(\n\n^\S|%^)' + let flags = 'e' + elseif a:type == 2 + let pattern = '\v^\S.*' + let flags = '' + endif + + if a:backwards + let dir = '?' + else + let dir = '/' + endif + + execute 'silent normal! ' . dir . pattern . dir . flags . "\r" +endfunction + +noremap <script> <buffer> <silent> ]] + \ :call <SID>NextSection(1, 0, 0)<cr> + +noremap <script> <buffer> <silent> [[ + \ :call <SID>NextSection(1, 1, 0)<cr> + +noremap <script> <buffer> <silent> ][ + \ :call <SID>NextSection(2, 0, 0)<cr> + +noremap <script> <buffer> <silent> [] + \ :call <SID>NextSection(2, 1, 0)<cr> + +vnoremap <script> <buffer> <silent> ]] + \ :<c-u>call <SID>NextSection(1, 0, 1)<cr> +vnoremap <script> <buffer> <silent> [[ + \ :<c-u>call <SID>NextSection(1, 1, 1)<cr> +vnoremap <script> <buffer> <silent> ][ + \ :<c-u>call <SID>NextSection(2, 0, 1)<cr> +vnoremap <script> <buffer> <silent> [] + \ :<c-u>call <SID>NextSection(2, 1, 1)<cr> + +let &cpo = s:cpo_save +unlet s:cpo_save |