From 53a0a5473f45d37027af9663638adbf56667e4ca Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Tue, 12 Nov 2024 22:26:02 -0500 Subject: Hopefully no leaks --- files/nvim/local/autoload/Juliana.vim | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 files/nvim/local/autoload/Juliana.vim (limited to 'files/nvim/local/autoload') diff --git a/files/nvim/local/autoload/Juliana.vim b/files/nvim/local/autoload/Juliana.vim new file mode 100644 index 0000000..1b684b9 --- /dev/null +++ b/files/nvim/local/autoload/Juliana.vim @@ -0,0 +1,46 @@ +" https://github.com/neitanod/vim-clevertab + +function! Juliana#Init() + let g:Juliana#has_selection = 0 + augroup JulianaPersistAu + autocmd ModeChanged [V\x16]*:i let g:Juliana#has_selection = 1 + autocmd InsertLeave * let g:Juliana#has_selection = 0 + augroup END +endfunction + +function! Juliana#CompleteTab(type) + if a:type == "START" + let g:Juliana#stop=0 + return "" + endif + + if !g:Juliana#stop + " Vanilla if we are at the front of a line. + if a:type == "TAB" && col(".") >= col("$") && !pumvisible() + let g:Juliana#stop=1 + return "\" + elseif a:type == "ALIGN" && !pumvisible() " Align if !pumvisible(). + let g:Juliana#stop=1 + if g:Juliana#has_selection + return "\gv=i" + else + return "\\=i" + endif + elseif a:type == "NEXT" " If pumvisible(), goto the next result. + let g:Juliana#stop=1 + return "\" + endif + endif + + return "" +endfunction + +function! Juliana#CompleteSTab(type) + if a:type == "PREV" + if pumvisible() " If pumvisible(), goto the previous result. + return "\" + else + return "\" " = + endif + endif +endfunction -- cgit v1.2.3-101-g0448