From adb30619583d4eff8b6d112be40d42026df597b8 Mon Sep 17 00:00:00 2001 From: Shubham Saini Date: Thu, 11 Jun 2020 18:19:32 +0530 Subject: changed colorscheme & vim status --- nvim/.config/nvim/colors/jellybeans.vim | 2 +- nvim/.config/nvim/init.vim | 151 +++++++++++++++++++++++++++++--- 2 files changed, 139 insertions(+), 14 deletions(-) (limited to 'nvim/.config') diff --git a/nvim/.config/nvim/colors/jellybeans.vim b/nvim/.config/nvim/colors/jellybeans.vim index bb57c28..73a0d98 100644 --- a/nvim/.config/nvim/colors/jellybeans.vim +++ b/nvim/.config/nvim/colors/jellybeans.vim @@ -88,7 +88,7 @@ endif " - g:jellybeans_use_gui_italics (default = 1) " - g:jellybeans_use_term_italics (default = 0) -let s:background_color = "070707" +let s:background_color = "000000" if exists("g:jellybeans_overrides") let s:overrides = g:jellybeans_overrides diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index c61ef87..ecb1c98 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -35,7 +35,7 @@ set shiftwidth=4 " number of spaces to use for autoindent set expandtab " tabs are space set autoindent set copyindent " copy indent from the previous line -colorscheme jellybeans +colorscheme bloodbath "hi Normal ctermbg=16 guibg=#000000 "hi LineNr ctermbg=16 guibg=#000000 @@ -112,15 +112,140 @@ map l nnoremap S :%s//gI "statusbar -hi Comment cterm=italic -hi CursorLine guibg=#2b2b2b -set statusline= -set statusline +=%1*\ %n\ %* "buffer number -set statusline +=%5*%{&ff}%* "file format -set statusline +=%3*%y%* "file type -set statusline +=%4*\ %<%F%* "full path -set statusline +=%2*%m%* "modified flag -set statusline +=%1*%=%5l%* "current line -set statusline +=%2*/%L%* "total lines -set statusline +=%1*%4v\ %* "virtual column number -set statusline +=%2*0x%04B\ %* "character under cursor +scriptencoding utf-8 + +" statusline + +let g:currentmode={ + \ 'n' : 'NORMAL ', + \ 'no' : 'N·OPERATOR PENDING ', + \ 'v' : 'VISUAL ', + \ 'V' : 'V·LINE ', + \ '' : 'V·BLOCK ', + \ 's' : 'SELECT ', + \ 'S' : 'S·LINE ', + \ '' : 'S·BLOCK ', + \ 'i' : 'INSERT ', + \ 'R' : 'REPLACE ', + \ 'Rv' : 'V·REPLACE ', + \ 'c' : 'COMMAND ', + \ 'cv' : 'VIM EX ', + \ 'ce' : 'EX ', + \ 'r' : 'PROMPT ', + \ 'rm' : 'MORE ', + \ 'r?' : 'CONFIRM ', + \ '!' : 'SHELL ', + \ 't' : 'TERMINAL '} + +hi PrimaryBlock ctermfg=00 ctermbg=6 +hi SecondaryBlock ctermfg=07 ctermbg=10 +hi Blanks ctermfg=00 ctermbg=11 + +hi User1 ctermfg=01 ctermbg=0 +hi User2 ctermfg=02 ctermbg=0 +hi User3 ctermfg=03 ctermbg=0 +hi User4 ctermfg=04 ctermbg=0 +hi User5 ctermfg=05 ctermbg=0 +hi User6 ctermfg=06 ctermbg=0 +hi User7 ctermfg=07 ctermbg=0 +hi User8 ctermfg=08 ctermbg=0 +hi User9 ctermfg=09 ctermbg=0 + +highlight EndOfBuffer ctermfg=black ctermbg=black + +function! GitBranch() + return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") +endfunction + +function! StatuslineGit() + let l:branchname = GitBranch() + return strlen(l:branchname) > 0?'* '.l:branchname.' ':'' +endfunction + +function! ReadOnly() abort + if !&modifiable && &readonly + return ' RO' + elseif &modifiable && &readonly + return 'RO' + elseif !&modifiable && !&readonly + return '' + else + return '' + endif +endfunction + +function! Filepath() abort + let l:basename = expand('%:h') + let l:filename = expand('%:t') + let l:extension = expand('%:e') + let l:prefix = (l:basename ==# '' || l:basename ==# '.') ? + \ '' : substitute(l:basename . '/', '\C^' . $HOME, '~', '') + + if empty(l:prefix) && empty(l:filename) + return printf('%%8*%%f%%*%s %%m%%*', '%8*') + elseif empty(l:prefix) + return printf('%%8*%%f%%*%s %%m%%*', '%6*') + else + return printf('%%8*%s%%*%s%s%%*', l:prefix, &modified ? '%6*' : '%8*', l:filename) + endif +endfunction + +function! LinterStatus() abort + let info = get(b:, 'coc_diagnostic_info', {}) + if empty(info) | return '' | endif + let msgs = [] + if get(info, 'error', 0) + call add(msgs, printf('%%5*%s×%%*', info['error'])) + endif + if get(info, 'warning', 0) + call add(msgs, printf('%%3*%s!%%*', info['warning'])) + endif + return join(msgs, ' ') +endfunction + +function! StatusLine(mode) abort + let l:line='' + + " help or man pages + if &filetype ==# 'help' || &filetype ==# 'man' + let l:line.=' %#StatusLineNC# ['. &filetype .'] %f ' + return l:line + endif + + " active + if a:mode ==# 'active' + let l:line.='%7*%{StatuslineGit()}' + let l:line.='%<' + let l:line.=Filepath() + + let l:line.='%5*' + let l:line.=' %{ReadOnly()} %w%*' + let l:line.='%9* %=%*' + + let l:line.='%7* %l,%c %*' + let l:line.='%8* %{g:currentmode[mode()]}%*' + let l:line.=' ' + let l:line.=LinterStatus() + let l:line.=' ' + let l:line.='%8*'. &filetype + + else + " inactive + let l:line.='%#Blanks#' + let l:line.='%f %5*%m%*' + let l:line.='%#Blanks# %=%*' + endif + + let l:line.='%*' + + return l:line +endfunction + +set statusline=%!StatusLine('active') +augroup MyStatusLine + autocmd! + autocmd WinEnter * setl statusline=%!StatusLine('active') + autocmd WinLeave * setl statusline=%!StatusLine('inactive') +augroup END + + -- cgit v1.2.3