nvcodeline.lua 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. -- require'nvim-web-devicons'.setup()
  2. local gl = require('galaxyline')
  3. local gls = gl.section
  4. gl.short_line_list = {'LuaTree','vista','dbui'}
  5. local colors = {
  6. bg = '#282c34',
  7. yellow = '#fabd2f',
  8. cyan = '#008080',
  9. darkblue = '#081633',
  10. green = '#afd700',
  11. orange = '#FF8800',
  12. purple = '#5d4d7a',
  13. magenta = '#d16d9e',
  14. grey = '#c0c0c0',
  15. blue = '#0087d7',
  16. red = '#ec5f67'
  17. }
  18. local buffer_not_empty = function()
  19. if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
  20. return true
  21. end
  22. return false
  23. end
  24. gls.left[1] = {
  25. FirstElement = {
  26. -- provider = function() return '▋' end,
  27. provider = function() return ' ' end,
  28. highlight = {colors.bg,colors.purple}
  29. },
  30. }
  31. gls.left[2] = {
  32. ViMode = {
  33. provider = function()
  34. local alias = {n = 'NORMAL',i = 'INSERT',c= 'COMMAND',V= 'VISUAL', [''] = 'VISUAL'}
  35. return alias[vim.fn.mode()]
  36. end,
  37. separator = ' ',
  38. separator_highlight = {colors.yellow,function()
  39. if not buffer_not_empty() then
  40. return colors.purple
  41. end
  42. return colors.purple
  43. end},
  44. highlight = {colors.grey,colors.purple,'bold'},
  45. },
  46. }
  47. -- gls.left[2] = {
  48. -- ViMode = {
  49. -- provider = function()
  50. -- -- auto change color according the vim mode
  51. -- local mode_color = {n = colors.magenta, i = colors.green,v=colors.blue,[''] = colors.blue,V=colors.blue,
  52. -- c = colors.red,no = colors.magenta,s = colors.orange,S=colors.orange,
  53. -- [''] = colors.orange,ic = colors.yellow,R = colors.purple,Rv = colors.purple,
  54. -- cv = colors.red,ce=colors.red, r = colors.cyan,rm = colors.cyan, ['r?'] = colors.cyan,
  55. -- ['!'] = colors.red,t = colors.red}
  56. -- vim.api.nvim_command('hi GalaxyViMode guifg='..mode_color[vim.fn.mode()])
  57. -- return ' '
  58. -- end,
  59. -- highlight = {colors.red,colors.line_bg,'bold'},
  60. -- },
  61. -- }
  62. -- gls.left[3] ={
  63. -- FileIcon = {
  64. -- separator = ' ',
  65. -- provider = 'FileIcon',
  66. -- condition = buffer_not_empty,
  67. -- highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg},
  68. -- },
  69. -- }
  70. -- gls.left[4] = {
  71. -- FileName = {
  72. -- provider = {'FileSize'},
  73. -- condition = buffer_not_empty,
  74. -- separator = ' ',
  75. -- separator_highlight = {colors.purple,colors.bg},
  76. -- highlight = {colors.magenta,colors.bg}
  77. -- }
  78. -- }
  79. gls.left[3] = {
  80. GitIcon = {
  81. provider = function() return '  ' end,
  82. condition = buffer_not_empty,
  83. highlight = {colors.orange,colors.bg},
  84. }
  85. }
  86. gls.left[4] = {
  87. GitBranch = {
  88. provider = 'GitBranch',
  89. condition = buffer_not_empty,
  90. highlight = {colors.grey,colors.bg},
  91. }
  92. }
  93. local checkwidth = function()
  94. local squeeze_width = vim.fn.winwidth(0) / 2
  95. if squeeze_width > 40 then
  96. return true
  97. end
  98. return false
  99. end
  100. gls.left[5] = {
  101. DiffAdd = {
  102. provider = 'DiffAdd',
  103. condition = checkwidth,
  104. icon = '  ',
  105. highlight = {colors.green,colors.bg},
  106. }
  107. }
  108. gls.left[6] = {
  109. DiffModified = {
  110. provider = 'DiffModified',
  111. condition = checkwidth,
  112. icon = '  ',
  113. highlight = {colors.blue,colors.bg},
  114. }
  115. }
  116. gls.left[7] = {
  117. DiffRemove = {
  118. provider = 'DiffRemove',
  119. condition = checkwidth,
  120. icon = '  ',
  121. highlight = {colors.red,colors.bg},
  122. }
  123. }
  124. gls.left[8] = {
  125. LeftEnd = {
  126. provider = function() return ' ' end,
  127. separator = ' ',
  128. separator_highlight = {colors.purple,colors.bg},
  129. highlight = {colors.purple,colors.bg}
  130. }
  131. }
  132. gls.left[9] = {
  133. DiagnosticError = {
  134. provider = 'DiagnosticError',
  135. icon = '  ',
  136. highlight = {colors.red,colors.bg}
  137. }
  138. }
  139. gls.left[10] = {
  140. Space = {
  141. provider = function () return '' end
  142. }
  143. }
  144. gls.left[11] = {
  145. DiagnosticWarn = {
  146. provider = 'DiagnosticWarn',
  147. icon = '  ',
  148. highlight = {colors.yellow,colors.bg},
  149. }
  150. }
  151. gls.left[12] = {
  152. DiagnosticHint = {
  153. provider = 'DiagnosticHint',
  154. icon = '  ',
  155. highlight = {colors.blue,colors.bg},
  156. }
  157. }
  158. gls.right[1]= {
  159. FileFormat = {
  160. provider = 'FileFormat',
  161. separator = ' ',
  162. separator_highlight = {colors.bg,colors.purple},
  163. highlight = {colors.grey,colors.purple},
  164. }
  165. }
  166. gls.right[2] = {
  167. LineInfo = {
  168. provider = 'LineColumn',
  169. separator = ' | ',
  170. separator_highlight = {colors.darkblue,colors.purple},
  171. highlight = {colors.grey,colors.purple},
  172. },
  173. }
  174. gls.right[3] = {
  175. PerCent = {
  176. provider = 'LinePercent',
  177. separator = ' ',
  178. separator_highlight = {colors.darkblue,colors.purple},
  179. highlight = {colors.grey,colors.darkblue},
  180. }
  181. }
  182. gls.right[4] = {
  183. ScrollBar = {
  184. provider = 'ScrollBar',
  185. highlight = {colors.yellow,colors.purple},
  186. }
  187. }
  188. -- gls.short_line_left[1] = {
  189. -- BufferType = {
  190. -- provider = 'FileTypeName',
  191. -- separator = ' ',
  192. -- separator_highlight = {colors.purple,colors.bg},
  193. -- highlight = {colors.grey,colors.purple}
  194. -- }
  195. -- }
  196. gls.short_line_left[1] = {
  197. LeftEnd = {
  198. provider = function() return ' ' end,
  199. separator = ' ',
  200. separator_highlight = {colors.purple,colors.bg},
  201. highlight = {colors.purple,colors.bg}
  202. }
  203. }
  204. -- gls.short_line_right[1] = {
  205. -- BufferIcon = {
  206. -- provider= 'BufferIcon',
  207. -- separator = ' ',
  208. -- separator_highlight = {colors.purple,colors.bg},
  209. -- highlight = {colors.grey,colors.purple}
  210. -- }
  211. -- }