summaryrefslogtreecommitdiff
path: root/.vim/miniplugins
diff options
context:
space:
mode:
Diffstat (limited to '.vim/miniplugins')
-rw-r--r--.vim/miniplugins/code_terminal.vim85
-rw-r--r--.vim/miniplugins/spell_check_mode.vim33
-rw-r--r--.vim/miniplugins/statusline.vim111
-rw-r--r--.vim/miniplugins/tabline.vim91
4 files changed, 0 insertions, 320 deletions
diff --git a/.vim/miniplugins/code_terminal.vim b/.vim/miniplugins/code_terminal.vim
deleted file mode 100644
index 4ddc1ae..0000000
--- a/.vim/miniplugins/code_terminal.vim
+++ /dev/null
@@ -1,85 +0,0 @@
-" Program in which build actions are executed. If no value, build commands are executes as bash commands.
-" This is only really useful in languages with interpreters
-let g:codeenvs = {
-\ 'scheme' : 'racket',
-\ 'lisp' : 'rlwrap sbcl --noinform',
-\ }
-
-" The following two dictionaries support certain substitutions:
-" %F - location of current file (relative path)
-" %D - directory of current file (full path)
-
-" Building the current file only
-let g:codebuildsingle = {
-\ 'scheme' : '(enter! "%F")',
-\ 'cpp' : "g++ -g -pedantic '%F' && ./a.out",
-\ 'yacc' : 'bison -t -d %F',
-\ 'lex' : 'flex %F',
-\ 'haskell' : 'runhaskell "%F"',
-\ 'lisp' : '(load "%F")',
-\ }
-" Building all files in the directory (and subdirectories) of the current file
-let g:codebuildproject = {
-\ 'cpp' : "g++ -g -pedantic '%D/'**/*.cpp && ./a.out"
-\ }
-
-noremap <F3> :call CodeTerminal(g:codebuildsingle)<CR>
-noremap <F4> :call CodeTerminal(g:codebuildproject)<CR>
-inoremap <F3> <C-O>:call CodeTerminal(g:codebuildsingle)<CR>
-inoremap <F4> <C-O>:call CodeTerminal(g:codebuildproject)<CR>
-" We assume that the last accessed window is the one with the source code, otherwise it gets complicated
-tnoremap <F3> <C-W><C-P>:call CodeTerminal(g:codebuildsingle)<CR><C-W><C-P>
-tnoremap <F4> <C-W><C-P>:call CodeTerminal(g:codebuildproject)<CR><C-W><C-P>
-
-au TabNew * call CTCreateTabVars()
-
-function! CTCreateTabVars()
- let t:codetermbufnr = -1
- let t:codetermft = ""
- let t:codetermhadenv = 0
-endfunction
-call CTCreateTabVars()
-
-function! OpenCodeTerminal()
- if !bufexists(t:codetermbufnr)
- term
- " Latest buffer is the terminal buffer we just opened
- let t:codetermbufnr = bufnr("$")
- " We go back to the file from which this was called
- wincmd p
- let t:codetermft = ""
- let t:codetermhadenv = 0
- endif
-
- if &filetype != t:codetermft
- if t:codetermhadenv
- " This is kinda bad, since certain environments might not close with this only
- call term_sendkeys(t:codetermbufnr, "\<C-D>")
- " The sleep is kinda bad, but it fixes the next term_sendkeys not working properly
- sleep 500m
- endif
-
- let t:codetermft = &filetype
- if has_key(g:codeenvs, &filetype)
- call term_sendkeys(t:codetermbufnr, g:codeenvs[&filetype] . "\<CR>")
- let t:codetermhadenv = 1
- else
- let t:codetermhadenv = 0
- endif
- endif
-endfunction
-
-function! CodeTerminal(builddict)
- call OpenCodeTerminal()
-
- if has_key(a:builddict, &filetype)
- let buildcomm = a:builddict[&filetype] . "\<CR>"
- let buildcomm = substitute(buildcomm, "%F", @%, "")
- let buildcomm = substitute(buildcomm, "%D", expand('%:p:h'), "")
- call term_sendkeys(t:codetermbufnr, buildcomm)
- echo "[CodeTerminal] Sent build command!"
- else
- call term_sendkeys(t:codetermbufnr, "\<Up>\<CR>")
- echo "[CodeTerminal] No value in build dictionary!"
- endif
-endfunction
diff --git a/.vim/miniplugins/spell_check_mode.vim b/.vim/miniplugins/spell_check_mode.vim
deleted file mode 100644
index cfdd46a..0000000
--- a/.vim/miniplugins/spell_check_mode.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" When you press F6 it will toggle a "spell check mode",
-" spell is activated and the colour scheme is changed
-nmap <F6> :call SpellCheckModeToggle()<CR>
-
-function! SpellCheckModeToggle()
- if g:colors_name == 'gruvbox'
- set spell
- colorscheme darkblue
- else
- set nospell
- colorscheme gruvbox
- endif
-endfunction
-
-" Scrolling (shows history) in terminal (except in lazygit)
-" Scroll up to activate it, and press a to deactivate it
-" Slightly modified version of: https://github.com/vim/vim/issues/2490#issuecomment-393973253
-tmap <silent> <ScrollWheelUp> <c-w>:call EnterNormalMode()<CR>
-
-function! ExitNormalMode()
- unmap <buffer> <silent> <RightMouse>
- call feedkeys("a")
-endfunction
-
-function! EnterNormalMode()
- if @% == '!lazygit'
- tunmap <silent> <ScrollWheelUp>
- elseif &buftype == 'terminal' && mode('') == 't'
- call feedkeys("\<c-w>N")
- call feedkeys("\<c-y>")
- map <buffer> <silent> <RightMouse> :call ExitNormalMode()<CR>
- endif
-endfunction
diff --git a/.vim/miniplugins/statusline.vim b/.vim/miniplugins/statusline.vim
deleted file mode 100644
index 78a771d..0000000
--- a/.vim/miniplugins/statusline.vim
+++ /dev/null
@@ -1,111 +0,0 @@
-" Needed settings
-set laststatus=2
-set timeoutlen=1000 ttimeoutlen=50
-set noshowmode
-
-" Logic
-
-let leftcap = ''
-let rightcap = ''
-let leftmcap = ''
-let rightmcap = ''
-
-let g:activesl = ''
-let g:inactivesl = ''
-
-" Colors {{{
- autocmd ColorScheme * call SLCreateHighlightGroups()
-
- function! SLCreateHighlightGroups()
- hi SLMode ctermfg=1 ctermbg=0
- hi SLModeC ctermfg=1 ctermbg=0
-
- hi SLRowCol ctermfg=238 ctermbg=244
- hi SLRowColC ctermfg=244 ctermbg=239
- endfunction
- call SLCreateHighlightGroups()
-" }}}
-
-" Mode {{{
- " Values are, in order, for: normal (default), insert, replace, visual modes
- " [ctermfg, ctermbg]
- let s:modecolors = [
- \ ['236', '117'],
- \ ['236', '119'],
- \ ['236', '203'],
- \ ['236', '216'],
- \]
-
- let g:modestring = ''
-
- function! SLModeSetter()
- let cm = mode()
- let ind = 0
-
- if cm == 'i'
- let ind = 1
- elseif cm == 'R'
- let ind = 2
- let cm = 'r'
- elseif cm == 'v'
- let ind = 3
- endif
-
- call hlset([#{name: 'SLMode', ctermfg: s:modecolors[l:ind][0], ctermbg: s:modecolors[l:ind][1]}])
- call hlset([#{name: 'SLModeC', ctermfg: s:modecolors[l:ind][1], ctermbg: '239'}])
- let g:modestring = l:cm
-
- return ''
- endfunction
-
- let g:activesl ..= '%#StatusLine#%{SLModeSetter()}%#SLModeC#%{leftcap}%#SLMode#%{modestring}%#SLModeC#%{rightcap}%<'
- " \______leftcap______/\________mode_______/\______rightcap_____/
- let g:inactivesl ..= '%#StatusLineNC# %<'
-" }}}
-
-" Filename {{{
- let g:_filename = ' %f %{rightmcap}'
- let g:activesl ..= '%#StatusLine#'..g:_filename
- let g:inactivesl ..= '%#StatusLineNC#'..g:_filename
-" }}}
-
-" File stat {{{
- function! SLReadonly()
- return (&ft !~? 'vimfiler' && &readonly) ? ' ' : ''
- endfunction
-
- function! SLModified()
- return (&ft =~ 'vimfiler') ? '' : (&modified ? '' : (&modifiable ? '' : ''))
- endfunction
-
- let g:_filestat = ' %{SLReadonly()}%{SLModified()} '
- let g:activesl ..= g:_filestat
- let g:inactivesl ..= g:_filestat
-" }}}
-
-" Middle separator {{{
- let g:activesl ..= '%='
- let g:inactivesl ..= '%='
-" }}}
-
-" Filetype {{{
- let g:_filetype = '%{leftmcap} %{WebDevIconsGetFileTypeSymbol()} %{&ft} '
- let g:activesl ..= g:_filetype
- let g:inactivesl ..= g:_filetype
-" }}}
-
-" Line and column count {{{
- let g:_linecol = '%#SLRowColC#%{leftcap}%#SLRowCol#%l:%c%#SLRowColC#%{rightcap}'
- let g:activesl ..= g:_linecol
- let g:inactivesl ..= g:_linecol
-" }}}
-
-" Statusline setting {{{
- set statusline=
-
- augroup SLModeAU
- au!
- au WinEnter,BufEnter * setlocal statusline=%!g:activesl
- au WinLeave,BufLeave * setlocal statusline=%!g:inactivesl
- augroup end
-" }}}
diff --git a/.vim/miniplugins/tabline.vim b/.vim/miniplugins/tabline.vim
deleted file mode 100644
index bb6fe57..0000000
--- a/.vim/miniplugins/tabline.vim
+++ /dev/null
@@ -1,91 +0,0 @@
-let tabcap = ''
-let tabmiddlecap = ''
-
-set tabline=%!TablineGenerator()
-
-" Tab data/helper functions {{{
- function! TabFilename(n)
- let buflist = tabpagebuflist(a:n)
- let winnr = tabpagewinnr(a:n)
- let _ = (expand('#'..buflist[winnr - 1]..':t') !=# '') ? expand('#'..buflist[winnr - 1]..':t') : '[No Name]'
-
- " Limit the width of tabs, so they don't go out of the screen
- let tabNameLengthMax = &columns/(((tabpagenr('$') > 0) ? tabpagenr('$') : 0) + 5)
-
- return WebDevIconsGetFileTypeSymbol(_) .. ' ' .. _[0:tabNameLengthMax]
- endfunction
-
- function! TabReadonly(n)
- let winnr = tabpagewinnr(a:n)
- return gettabwinvar(a:n, winnr, '&readonly') ? ' ' : ''
- endfunction
-
- function! TabModified(n)
- let winnr = tabpagewinnr(a:n)
- return gettabwinvar(a:n, winnr, '&modified') ? ' ' : (gettabwinvar(a:n, winnr, '&modifiable') ? '' : ' ')
- endfunction
-" }}}
-
-" Colors {{{
- autocmd ColorScheme * call TLCreateHighlightGroups()
-
- " Colorscheme clears highlights https://vi.stackexchange.com/a/3356
- function! TLCreateHighlightGroups()
- hi TLTab ctermfg=252 ctermbg=242
- hi TLTabSel ctermfg=252 ctermbg=235
- hi TLRest ctermfg=248 ctermbg=238
-
- let s:hi_tltab = hlget('TLTab')[0]
- let s:hi_tltabsel = hlget('TLTabSel')[0]
- let s:hi_tlrest = hlget('TLRest')[0]
- call hlset([#{name: 'TLTabSelLC', ctermfg: s:hi_tltab['ctermbg'], ctermbg: s:hi_tltabsel['ctermbg'] },
- \ #{name: 'TLTabSelRC', ctermfg: s:hi_tltabsel['ctermbg'], ctermbg: s:hi_tltab['ctermbg'] },
- \ #{name: 'TLTabSelRCF', ctermfg: s:hi_tltabsel['ctermbg'], ctermbg: s:hi_tlrest['ctermbg'] },
- \ #{name: 'TLTabRCF', ctermfg: s:hi_tltab['ctermbg'], ctermbg: s:hi_tlrest['ctermbg'] }])
- endfunction
- call TLCreateHighlightGroups()
-" }}}
-
-function! TablineGenerator()
- let s = ''
-
- " For each tab i
- for i in range(1, tabpagenr('$'))
- " Sets the tab page number, so that mouse clicks work
- let s ..= '%' .. i .. 'T'
-
- let innerText = '%{TabFilename(' .. i .. ')}%{TabReadonly(' .. i .. ')}%{TabModified(' .. i .. ')} '
-
- " If tab is the selected one
- if i == tabpagenr()
- " If tab isn't the left most
- if i > 1
- let s ..= '%#TLTabSelLC#%{tabcap}'
- endif
-
- let s ..= '%#TLTabSel# ' .. l:innerText
-
- " If tab is the last one, right cap bg color has to be different
- let s ..= (i == tabpagenr('$') ? '%#TLTabSelRCF#' : '%#TLTabSelRC#') .. '%{tabcap}'
-
- else
- let s ..= '%#TLTab#'
- " If tab isn't to the right of selected and isn't the left most
- if (i-1 != tabpagenr()) && (i > 1)
- let s ..= '%{tabmiddlecap}'
- endif
-
- let s ..= ' ' .. l:innerText
-
- " Last tab has to have a tabcap
- if i == tabpagenr('$')
- let s ..= '%#TLTabRCF#%{tabcap}'
- endif
- endif
- endfor
-
- " After last tab, fill with TLRest
- let s ..= '%#TLRest#%T'
-
- return s
-endfunction