initial nix cfg

This commit is contained in:
Quentin Boyer 2021-06-20 18:55:56 +02:00
commit 9b8f797264
16 changed files with 1968 additions and 0 deletions

220
nvim/lua/statusline.lua Normal file
View file

@ -0,0 +1,220 @@
local gl = require('galaxyline')
local gls = gl.section
gl.short_line_list = {'LuaTree','vista','dbui'}
local colors = {
bg = '#282c34',
yellow = '#fabd2f',
cyan = '#008080',
darkblue = '#081633',
green = '#afd700',
orange = '#FF8800',
purple = '#5d4d7a',
magenta = '#d16d9e',
grey = '#c0c0c0',
blue = '#0087d7',
red = '#ec5f67',
violet = '#6860e7'
}
local buffer_not_empty = function()
if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
return true
end
return false
end
-- Start of line
gls.left[1] = {
FirstElement = {
provider = function() return '' end,
highlight = {colors.blue,colors.yellow}
},
}
-- Vim mode
gls.left[2] = {
ViMode = {
provider = function()
local alias = {n = 'NORMAL ',i = 'INSERT ',c= 'COMMAND ',V= 'VISUAL ', [''] = 'VISUAL '}
return alias[vim.fn.mode()]
end,
separator = '',
separator_highlight = {colors.yellow,function()
if not buffer_not_empty() then
return colors.purple
end
return colors.darkblue
end},
highlight = {colors.violet,colors.yellow,'bold'},
},
}
-- File Icon
gls.left[3] ={
FileIcon = {
provider = 'FileIcon',
condition = buffer_not_empty,
highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.darkblue},
},
}
-- File Name
gls.left[4] = {
FileName = {
provider = {'FileName'},
condition = buffer_not_empty,
separator = '',
separator_highlight = {colors.purple,colors.darkblue},
highlight = {colors.magenta,colors.darkblue}
}
}
-- GIT
gls.left[5] = {
GitIcon = {
provider = function() return '' end,
condition = buffer_not_empty,
highlight = {colors.orange,colors.purple},
}
}
gls.left[6] = {
GitBranch = {
provider = 'GitBranch',
condition = buffer_not_empty,
highlight = {colors.grey,colors.purple},
}
}
local vcs = require('galaxyline.provider_vcs')
local is_file_diff = function ()
if vcs.diff_add() ~= nil or vcs.diff_modified() ~= nil or vcs.diff_remove() ~= nil then
return ''
end
end
gls.left[7] = {
GitModified = {
provider = is_file_diff,
highlight = {colors.green,colors.purple},
}
}
gls.left[8] = {
LeftEnd = {
provider = function() return '' end,
separator = '',
separator_highlight = {colors.purple,colors.bg},
highlight = {colors.purple,colors.purple}
}
}
local lsp_diag_error = function()
local diagnostics = require('lsp-status/diagnostics')
local buf_diagnostics = diagnostics()
if buf_diagnostics.errors and buf_diagnostics.errors > 0 then
return buf_diagnostics.errors .. ' '
end
end
local lsp_diag_warn = function()
local diagnostics = require('lsp-status/diagnostics')
local buf_diagnostics = diagnostics()
if buf_diagnostics.warnings and buf_diagnostics.warnings > 0 then
return buf_diagnostics.warnings .. ' '
end
end
local lsp_diag_info = function()
local diagnostics = require('lsp-status/diagnostics')
local buf_diagnostics = diagnostics()
if buf_diagnostics.info and buf_diagnostics.info > 0 then
return buf_diagnostics.info .. ' '
end
end
local has_lsp = function ()
return #vim.lsp.buf_get_clients() > 0
end
local has_curent_func = function ()
if not has_lsp then
return false
end
local current_function = vim.b.lsp_current_function
return current_function and current_function ~= ''
end
local lsp_current_func = function ()
local current_function = vim.b.lsp_current_function
if current_function and current_function ~= '' then
return '(' .. current_function .. ') '
end
end
gls.right[1] = {
LspText = {
provider = function() return '' end,
separator = '',
separator_highlight = {colors.darkblue,colors.bg},
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[2] = {
LspError = {
provider = lsp_diag_error,
condition = has_lsp,
icon = '',
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[3] = {
LspWarning = {
provider = lsp_diag_warn,
condition = has_lsp,
icon = '',
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[4] = {
LspInfo = {
provider = lsp_diag_info,
condition = has_lsp,
icon = '',
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[5] = {
LspCurrentFunc = {
provider = lsp_current_func,
condition = has_current_func,
icon = '𝒇',
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[6]= {
FileFormat = {
provider = 'FileFormat',
separator = '',
separator_highlight = {colors.darkblue,colors.purple},
highlight = {colors.grey,colors.purple},
}
}
gls.right[7] = {
LineInfo = {
provider = 'LineColumn',
separator = ' | ',
separator_highlight = {colors.darkblue,colors.purple},
highlight = {colors.grey,colors.purple},
},
}
gls.right[8] = {
PerCent = {
provider = 'LinePercent',
separator = '',
separator_highlight = {colors.darkblue,colors.purple},
highlight = {colors.grey,colors.darkblue},
}
}
gls.right[9] = {
ScrollBar = {
provider = 'ScrollBar',
highlight = {colors.yellow,colors.purple},
}
}