summaryrefslogtreecommitdiff
path: root/lua/plugins/statusline.lua
blob: 11c14350cee248fbfe794cbc2c35224476d46c7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
vim.cmd([[
	function! StatusDiagnostic() abort
		let info = get(b:, 'coc_diagnostic_info', {})
		if empty(info) | return '' | endif
		let msgs = []
		if get(info, 'error', 0)
			call add(msgs, 'E' . info['error'])
		endif
		if get(info, 'warning', 0)
			call add(msgs, 'W' . info['warning'])
		endif
		return join(msgs, ' '). ' ' . get(g:, 'coc_status', '')
	endfunction

	"let g:currentmode={
				"\ 'n'  : 'NORMAL ',
				"\ 'no' : 'N·Operator Pending ',
				"\ 'v'  : 'VISUAL ',
				"\ 'V'  : 'V·Line ',
				"\ "\<C-V>" : 'V·Block ',
				"\ 's'  : 'Select ',
				"\ 'S'  : 'S·Line ',
				"\ 'x19' : '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 '
				"\}

	function! ReadOnly()
	  if &readonly || !&modifiable
		return ''
	  else
		return ''
	endfunction

	set statusline=
	"set statusline+=\ %{toupper(g:currentmode[mode()])}
	set statusline^=%{StatusDiagnostic()}
	set statusline+=%8*\ %<%f\ %{ReadOnly()}\ %w
	set statusline+=%{&modified?'[+]':''}
	set statusline+=%=
	set statusline+=\ %y
	"set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
	"set statusline+=\[%{&fileformat}\]
	set statusline+=\ %p%%
	set statusline+=\ %l:%c
	set statusline+=\ "
]])