Mercurial > vim
view runtime/ftplugin/context.vim @ 36247:a3244333f8c4 draft
runtime(misc): unset compiler in various ftplugins
Commit: https://github.com/vim/vim/commit/7c3f9af0ed5dd7035f8a3fbb2f0bf965a453e359
Author: Konfekt <Konfekt@users.noreply.github.com>
Date: Sat Oct 5 17:26:46 2024 +0200
runtime(misc): unset compiler in various ftplugins
just to foster best practices
closes: #15798
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 05 Oct 2024 17:30:04 +0200 |
parents | d81556766132 |
children |
line wrap: on
line source
vim9script # Vim filetype plugin file # Language: ConTeXt typesetting engine # Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> # Former Maintainers: Nikolai Weibull <now@bitwi.se> # Latest Revision: 2024 Oct 04 if exists("b:did_ftplugin") finish endif import autoload '../autoload/context.vim' b:did_ftplugin = 1 b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<" setlocal comments=b:%D,b:%C,b:%M,:% setlocal commentstring=%\ %s setlocal formatoptions+=tjcroql2 setlocal omnifunc=context.Complete setlocal suffixesadd=.tex,.mkxl,.mkvi,.mkiv,.mkii &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\)' &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)' if exists("g:loaded_matchit") && !exists("b:match_words") b:match_ignorecase = 0 b:match_skip = 'r:\\\@<!\%(\\\\\)*%' b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],\\start\(\a\+\):\\stop\1' b:undo_ftplugin ..= "| unlet! b:match_ignorecase b:match_words b:match_skip" endif if !get(g:, 'no_context_maps', 0) && !get(g:, 'no_plugin_maps', 0) const 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\)', } def UndoMap(mapping: string, modes: string) for mode in modes b:undo_ftplugin ..= printf(" | silent! execute '%sunmap <buffer> %s'", mode, mapping) endfor enddef def MoveAround(count: number, what: string, flags: string) search(context_regex[what], flags .. 's') # 's' sets previous context mark var i = 2 while i <= count search(context_regex[what], flags) i += 1 endwhile enddef # Macros to move around nnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr> vnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr> nnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr> vnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr> nnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr> vnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr> nnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr> vnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr> nnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr> vnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr> nnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr> vnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr> for mapping in ['[[', ']]', '[]', '][', '[{', ']}'] UndoMap(mapping, 'nv') endfor # Other useful mappings const tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)' def TeXPar() cursor(search(tp_regex, 'bcW') + 1, 1) normal! V cursor(search(tp_regex, 'W') - 1, 1) enddef # Reflow paragraphs with mappings like gqtp ("gq TeX paragraph") onoremap <silent><buffer> tp <scriptcmd>TeXPar()<cr> # Select TeX paragraph vnoremap <silent><buffer> tp <scriptcmd>TeXPar()<cr> # $...$ text object onoremap <silent><buffer> i$ <scriptcmd>normal! T$vt$<cr> onoremap <silent><buffer> a$ <scriptcmd>normal! F$vf$<cr> vnoremap <buffer> i$ T$ot$ vnoremap <buffer> a$ F$of$ for mapping in ['tp', 'i$', 'a$'] UndoMap(mapping, 'ov') endfor endif if !exists('current_compiler') b:undo_ftplugin ..= "| compiler make" compiler context endif b:undo_ftplugin ..= "| sil! delc -buffer ConTeXt | sil! delc -buffer ConTeXtLog | sil! delc -buffer ConTeXtJobStatus | sil! delc -buffer ConTeXtStopJobs" # Commands for asynchronous typesetting command! -buffer -nargs=? -complete=buffer ConTeXt context.Typeset(<q-args>) command! -buffer -nargs=0 ConTeXtLog context.Log('%') command! -nargs=0 ConTeXtJobStatus context.JobStatus() command! -nargs=0 ConTeXtStopJobs context.StopJobs() # vim: sw=2 fdm=marker