Initial dotfiles configuration
This commit is contained in:
		
							
								
								
									
										167
									
								
								vim/vimrc.lightline
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								vim/vimrc.lightline
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,167 @@ | ||||
| " User Interface | ||||
| "{{{lightline.vim | ||||
| "{{{lightline.vim-usage | ||||
| " :h 'statusline' | ||||
| " :h g:lightline.component | ||||
| "}}} | ||||
| "{{{functions | ||||
| function! PomodoroStatus() abort"{{{ | ||||
|   if pomo#remaining_time() ==# '0' | ||||
|     return "\ue001" | ||||
|   else | ||||
|     return "\ue003 ".pomo#remaining_time() | ||||
|   endif | ||||
| endfunction"}}} | ||||
| function! CocCurrentFunction()"{{{ | ||||
|   return get(b:, 'coc_current_function', '') | ||||
| endfunction"}}} | ||||
| function! Devicons_Filetype()"{{{ | ||||
|   " return winwidth(0) > 70 ? (strlen(&filetype) ? WebDevIconsGetFileTypeSymbol() . ' ' . &filetype : 'no ft') : '' | ||||
|   return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : 'no ft') : '' | ||||
| endfunction"}}} | ||||
| function! Devicons_Fileformat()"{{{ | ||||
|   return winwidth(0) > 70 ? (&fileformat . ' ' . WebDevIconsGetFileFormatSymbol()) : '' | ||||
| endfunction"}}} | ||||
| function! Artify_active_tab_num(n) abort"{{{ | ||||
|   return Artify(a:n, 'bold')." \ue0bb" | ||||
| endfunction"}}} | ||||
| function! Tab_num(n) abort"{{{ | ||||
|   return a:n." \ue0bb" | ||||
| endfunction"}}} | ||||
| function! Gitbranch() abort"{{{ | ||||
|   if gitbranch#name() !=# '' | ||||
|     return gitbranch#name()." \ue725" | ||||
|   else | ||||
|     return "\ue61b" | ||||
|   endif | ||||
| endfunction"}}} | ||||
| function! Artify_inactive_tab_num(n) abort"{{{ | ||||
|   return Artify(a:n, 'double_struck')." \ue0bb" | ||||
| endfunction"}}} | ||||
| function! Artify_lightline_tab_filename(s) abort"{{{ | ||||
|   return Artify(lightline#tab#filename(a:s), 'monospace') | ||||
| endfunction"}}} | ||||
| function! Artify_lightline_mode() abort"{{{ | ||||
|   return Artify(lightline#mode(), 'monospace') | ||||
| endfunction"}}} | ||||
| function! Artify_line_percent() abort"{{{ | ||||
|   return Artify(string((100*line('.'))/line('$')), 'bold') | ||||
| endfunction"}}} | ||||
| function! Artify_line_num() abort"{{{ | ||||
|   return Artify(string(line('.')), 'bold') | ||||
| endfunction"}}} | ||||
| function! Artify_col_num() abort"{{{ | ||||
|   return Artify(string(getcurpos()[2]), 'bold') | ||||
| endfunction"}}} | ||||
| function! Artify_gitbranch() abort"{{{ | ||||
|   if gitbranch#name() !=# '' | ||||
|     return Artify(gitbranch#name(), 'monospace')." \ue725" | ||||
|   else | ||||
|     return "\ue61b" | ||||
|   endif | ||||
| endfunction"}}} | ||||
| "}}} | ||||
| set laststatus=2  " Basic | ||||
| set noshowmode  " Disable show mode info | ||||
| augroup lightlineCustom | ||||
|   autocmd! | ||||
|   autocmd BufWritePost * call lightline_gitdiff#query_git() | call lightline#update() | ||||
| augroup END | ||||
| let g:lightline = {} | ||||
| let g:lightline.separator = { 'left': "\ue0b8", 'right': "\ue0be" } | ||||
| let g:lightline.subseparator = { 'left': "\ue0b9", 'right': "\ue0b9" } | ||||
| let g:lightline.tabline_separator = { 'left': "\ue0bc", 'right': "\ue0ba" } | ||||
| let g:lightline.tabline_subseparator = { 'left': "\ue0bb", 'right': "\ue0bb" } | ||||
| let g:lightline#ale#indicator_checking = "\uf110" | ||||
| let g:lightline#ale#indicator_warnings = "\uf529" | ||||
| let g:lightline#ale#indicator_errors = "\uf00d" | ||||
| let g:lightline#ale#indicator_ok = "\uf00c" | ||||
| let g:lightline_gitdiff#indicator_added = '+' | ||||
| let g:lightline_gitdiff#indicator_deleted = '-' | ||||
| let g:lightline_gitdiff#indicator_modified = '*' | ||||
| let g:lightline_gitdiff#min_winwidth = '70' | ||||
| let g:lightline#asyncrun#indicator_none = '' | ||||
| let g:lightline#asyncrun#indicator_run = 'Running...' | ||||
| let g:lightline.active = { | ||||
|       \ 'left': [ [ 'mode', 'paste' ], | ||||
|       \           [ 'readonly', 'filename', 'modified', 'fileformat', 'devicons_filetype' ] ], | ||||
|       \ 'right': [ [ 'lineinfo' ], | ||||
|       \            [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok', 'pomodoro' ], | ||||
|       \           [ 'asyncrun_status', 'coc_status' ] ] | ||||
|       \ } | ||||
| let g:lightline.inactive = { | ||||
|       \ 'left': [ [ 'filename' , 'modified', 'fileformat', 'devicons_filetype' ]], | ||||
|       \ 'right': [ [ 'lineinfo' ] ] | ||||
|       \ } | ||||
| let g:lightline.tabline = { | ||||
|       \ 'left': [ [ 'vim_logo', 'tabs' ] ], | ||||
|       \ 'right': [ [ 'gitbranch' ], | ||||
|       \ [ 'gitstatus' ] ] | ||||
|       \ } | ||||
| let g:lightline.tab = { | ||||
|       \ 'active': [ 'tabnum', 'filename', 'modified' ], | ||||
|       \ 'inactive': [ 'tabnum', 'filename', 'modified' ] } | ||||
| let g:lightline.tab_component = { | ||||
|       \ } | ||||
| let g:lightline.tab_component_function = { | ||||
|       \ 'artify_activetabnum': 'Artify_active_tab_num', | ||||
|       \ 'artify_inactivetabnum': 'Artify_inactive_tab_num', | ||||
|       \ 'artify_filename': 'Artify_lightline_tab_filename', | ||||
|       \ 'filename': 'lightline#tab#filename', | ||||
|       \ 'modified': 'lightline#tab#modified', | ||||
|       \ 'readonly': 'lightline#tab#readonly', | ||||
|       \ 'tabnum': 'Tab_num' | ||||
|       \ } | ||||
| let g:lightline.component = { | ||||
|       \ 'artify_gitbranch' : '%{Artify_gitbranch()}', | ||||
|       \ 'artify_mode': '%{Artify_lightline_mode()}', | ||||
|       \ 'artify_lineinfo': "%2{Artify_line_percent()}\uf295 %3{Artify_line_num()}:%-2{Artify_col_num()}", | ||||
|       \ 'gitstatus' : '%{lightline_gitdiff#get_status()}', | ||||
|       \ 'bufinfo': '%{bufname("%")}:%{bufnr("%")}', | ||||
|       \ 'vim_logo': "\ue7c5", | ||||
|       \ 'pomodoro': '%{PomodoroStatus()}', | ||||
|       \ 'mode': '%{lightline#mode()}', | ||||
|       \ 'absolutepath': '%F', | ||||
|       \ 'relativepath': '%f', | ||||
|       \ 'filename': '%t', | ||||
|       \ 'filesize': "%{HumanSize(line2byte('$') + len(getline('$')))}", | ||||
|       \ 'fileencoding': '%{&fenc!=#""?&fenc:&enc}', | ||||
|       \ 'fileformat': '%{&fenc!=#""?&fenc:&enc}[%{&ff}]', | ||||
|       \ 'filetype': '%{&ft!=#""?&ft:"no ft"}', | ||||
|       \ 'modified': '%M', | ||||
|       \ 'bufnum': '%n', | ||||
|       \ 'paste': '%{&paste?"PASTE":""}', | ||||
|       \ 'readonly': '%R', | ||||
|       \ 'charvalue': '%b', | ||||
|       \ 'charvaluehex': '%B', | ||||
|       \ 'percent': '%2p%%', | ||||
|       \ 'percentwin': '%P', | ||||
|       \ 'spell': '%{&spell?&spelllang:""}', | ||||
|       \ 'lineinfo': '%2p%% %3l:%-2v', | ||||
|       \ 'line': '%l', | ||||
|       \ 'column': '%c', | ||||
|       \ 'close': '%999X X ', | ||||
|       \ 'winnr': '%{winnr()}' | ||||
|       \ } | ||||
| let g:lightline.component_function = { | ||||
|       \ 'gitbranch': 'Gitbranch', | ||||
|       \ 'devicons_filetype': 'Devicons_Filetype', | ||||
|       \ 'devicons_fileformat': 'Devicons_Fileformat', | ||||
|       \ 'coc_status': 'coc#status', | ||||
|       \ 'coc_currentfunction': 'CocCurrentFunction' | ||||
|       \ } | ||||
| let g:lightline.component_expand = { | ||||
|       \ 'linter_checking': 'lightline#ale#checking', | ||||
|       \ 'linter_warnings': 'lightline#ale#warnings', | ||||
|       \ 'linter_errors': 'lightline#ale#errors', | ||||
|       \ 'linter_ok': 'lightline#ale#ok', | ||||
|       \ 'asyncrun_status': 'lightline#asyncrun#status' | ||||
|       \ } | ||||
| let g:lightline.component_type = { | ||||
|       \ 'linter_warnings': 'warning', | ||||
|       \ 'linter_errors': 'error' | ||||
|       \ } | ||||
| let g:lightline.component_visible_condition = { | ||||
|       \ 'gitstatus': 'lightline_gitdiff#get_status() !=# ""' | ||||
|       \ } | ||||
| "}}} | ||||
		Reference in New Issue
	
	Block a user