vim9script import autoload '../autoload/custom/minpac.vim' import autoload '../autoload/myfunctions.vim' as mf #################### STARTUP PLUGINS #################### minpac.Add('tpope/vim-repeat') minpac.Add('tpope/vim-characterize') minpac.Add('tpope/vim-commentary') minpac.Add('lambdalisue/vim-manpager') # minpac.Add('hail2u/vim-css3-syntax') # minpac.Add('othree/html5.vim') # minpac.Add('pangloss/vim-javascript') # minpac.Add('lacygoill/vim9asm') # helpful.vim {{{1 # run :packadd helpful.vim to enable it when needed minpac.Add('tweekmonster/helpful.vim', {}) #}}} # vim-runner {{{1 minpac.Add('monkoose/vim-runner', { Config: () => { packadd! vim-runner nnoremap r Run } }) # gorun {{{1 minpac.Add('monkoose/gorun', { Config: () => { packadd! gorun } }) # # vim-svelte {{{1 # minpac.Add('evanleck/vim-svelte', { # Config: () => { # g:svelte_preprocessor_tags = [ # { name: 'ts', tag: 'script', as: 'typescript' } # ] # g:svelte_preprocessors = ['typescript', 'ts'] # packadd! vim-svelte # } # }) # undotree {{{1 minpac.Add('mbbill/undotree', { Config: () => { g:undotree_SetFocusWhenToggle = 1 g:undotree_WindowLayout = 2 g:undotree_ShortIndicators = 1 g:undotree_HelpLine = 0 packadd! undotree nnoremap UndotreeToggle } }) # vim9-stargate {{{1 minpac.Add('monkoose/vim9-stargate', { Config: () => { noremap call stargate#OKvim(1) nnoremap w call stargate#Galaxy() g:stargate_keymaps = { "~": "Ё", "Q": "Й", "W": "Ц", "E": "У", "R": "К", "T": "Е", "Y": "Н", "U": "Г", "I": "Ш", "O": "Щ", "P": "З", "{": "Х", "}": "Ъ", "A": "Ф", "S": "Ы", "D": "В", "F": "А", "G": "П", "H": "Р", "J": "О", "K": "Л", "L": "Д", ":": "Ж", '"': "Э", "Z": "Я", "X": "Ч", "C": "С", "V": "М", "B": "И", "N": "Т", "M": "Ь", "<": "Б", ">": "Ю", "`": "ё", "q": "й", "w": "ц", "e": "у", "r": "к", "t": "е", "y": "н", "u": "г", "i": "ш", "o": "щ", "p": "з", "[": "х", "]": "ъ", "a": "ф", "s": "ы", "d": "в", "f": "а", "g": "п", "h": "р", "j": "о", "k": "л", "l": "д", ";": "ж", "'": "э", "z": "я", "x": "ч", "c": "с", "v": "м", "b": "и", "n": "т", "m": "ь", ",": "б", ".": "ю" } packadd! vim9-stargate } }) # vim9-syntax {{{1 minpac.Add('lacygoill/vim9-syntax', { Config: () => { g:vim9_syntax = { errors: { event_wrong_case: false, octal_missing_o_prefix: false, range_missing_space: false, range_missing_specifier: false, strict_whitespace: true }} packadd! vim9-syntax } }) #}}} #################### DEFERED PLUGINS #################### # coc.nvim {{{1 def ExpandSnippet(): string if coc#expandable() return "\=coc#rpc#request('doKeymap', ['snippets-expand', ''])\" endif echo " No such snippet." return "" enddef def CocConfirm(): string if coc#pum#visible() if coc#pum#info().index == -1 return ExpandSnippet() endif return coc#pum#confirm() endif if pumvisible() if complete_info(["selected"]).selected == -1 return ExpandSnippet() endif return "\" endif return codeium#completer#Accept() enddef def CocOnEnter() if getline('.') !~ '^\s*$' feedkeys("\u", 'n') endif if pumvisible() feedkeys("\", 'n') endif feedkeys("\", 'n') coc#on_enter() enddef def ActionOnProvider(provider: string, action: string, key: string) if g:CocHasProvider(provider) g:CocAction(action) else feedkeys(key, 'n') endif enddef def ScrollDocNext() if coc#pum#visible() coc#float#scroll(1, 4) else codeium#completer#CycleOrComplete() endif enddef def ScrollDocPrev() if coc#pum#visible() coc#float#scroll(-1, 4) else codeium#completer#Cycle(-1) endif enddef minpac.Add('honza/vim-snippets') minpac.Add('neoclide/coc.nvim', { delay: 20, branch: 'master', do: (_, name) => minpac.Do(name, ['npm', 'ci']), Config: () => { g:coc_global_extensions =<< trim END coc-json coc-sh coc-snippets coc-go coc-tsserver coc-html coc-css coc-clangd coc-lua coc-db END set tagfunc=CocTagFunc g:coc_borderchars = ['━', '┃', '━', '┃', '┏', '┓', '┛', '┗'] g:coc_border_joinchars = ['┳', '┫', '┻', '┣'] g:coc_snippet_next = '' g:coc_snippet_prev = '' packadd coc.nvim inoremap coc#jumpable() ? "\" : "" inoremap ScrollDocNext() inoremap ScrollDocPrev() inoremap