Chris пре 4 година
родитељ
комит
edabd42359
3 измењених фајлова са 158 додато и 204 уклоњено
  1. 1 2
      README.md
  2. 1 1
      init.lua
  3. 156 201
      lua/nv-galaxyline/init.lua

+ 1 - 2
README.md

@@ -55,14 +55,13 @@ go get github.com/mattn/efm-langserver@HEAD
 **HIGH PRIORITY**
 - formatting using efm server for prettier/eslint
 - learn what opt is
-- better install script
+- better install script, support both nvim and nvcode paths
 - learn nvim-dap in depth
 - snippet support
 - for vsnip :h vim-vsnip, also figure out what integr does
 
 **LOW PRIORITY**
 - redo barbar highlight groups
-- more handsome/modern galaxyline
 - make java code actions prettier
 - figure out how to customize java formatting
 - setup junit tests for java

+ 1 - 1
init.lua

@@ -39,7 +39,6 @@ else
 
   -- LSP
   require('lsp')
-  require('lsp.efm-general-ls')
   require('lsp.lua-ls')
   require('lsp.bash-ls')
   require('lsp.js-ts-ls')
@@ -51,5 +50,6 @@ else
   require('lsp.css-ls')
   require('lsp.docker-ls')
   require('lsp.html-ls')
+  require('lsp.efm-general-ls')
 end
 

+ 156 - 201
lua/nv-galaxyline/init.lua

@@ -1,226 +1,181 @@
--- require'nvim-web-devicons'.setup()
-
 local gl = require('galaxyline')
+-- get my theme in galaxyline repo
+-- local colors = require('galaxyline.theme').default
+local colors = {
+    bg = '#282c34',
+    yellow = '#fabd2f',
+    cyan = '#008080',
+    green = '#608B4E',
+    orange = '#FF8800',
+    purple = '#C586C0',
+    magenta = '#d16d9e',
+    grey = '#abb2bf',
+    blue = '#569CD6',
+    red = '#D16969'
+}
+local condition = require('galaxyline.condition')
 local gls = gl.section
-gl.short_line_list = {'LuaTree','vista','dbui'}
+gl.short_line_list = {'NvimTree', 'vista', 'dbui', 'packer'}
 
-local colors = {
-  bg = '#282c34',
-  yellow = '#fabd2f',
-  cyan = '#008080',
-  darkblue = '#081633',
-  green = '#608B4E',
-  orange = '#FF8800',
-  purple = '#5d4d7a',
-  magenta = '#d16d9e',
-  grey = '#c0c0c0',
-  blue = '#569CD6',
-  red = '#D16969'
+gls.left[1] = {
+    ViMode = {
+        provider = function()
+            -- auto change color according the vim mode
+            local mode_color = {
+                n = colors.blue,
+                i = colors.green,
+                v = colors.purple,
+                [''] = colors.purple,
+                V = colors.purple,
+                c = colors.magenta,
+                no = colors.blue,
+                s = colors.orange,
+                S = colors.orange,
+                [''] = colors.orange,
+                ic = colors.yellow,
+                R = colors.red,
+                Rv = colors.red,
+                cv = colors.blue,
+                ce = colors.blue,
+                r = colors.cyan,
+                rm = colors.cyan,
+                ['r?'] = colors.cyan,
+                ['!'] = colors.blue,
+                t = colors.blue
+            }
+            vim.api.nvim_command('hi GalaxyViMode guifg=' .. mode_color[vim.fn.mode()])
+            return '▊ '
+        end,
+        highlight = {colors.red, colors.bg, 'bold'}
+    }
 }
 
-local buffer_not_empty = function()
-  if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
-    return true
-  end
-  return false
-end
-
 gls.left[2] = {
-  ViMode = {
-    provider = function()
-      -- auto change color according the vim mode
-      local mode_color = {n = colors.purple, 
-                          i = colors.green,
-                          v = colors.blue,
-                          [''] = colors.blue,
-                          V = colors.blue,
-                          c = colors.purple,
-                          no = colors.magenta,
-                          s = colors.orange,
-                          S = colors.orange,
-                          [''] = colors.orange,
-                          ic = colors.yellow,
-                          R = colors.red,
-                          Rv = colors.red,
-                          cv = colors.red,
-                          ce=colors.red, 
-                          r = colors.cyan,
-                          rm = colors.cyan, 
-                          ['r?'] = colors.cyan,
-                          ['!']  = colors.red,
-                          t = colors.red}
-      vim.api.nvim_command('hi GalaxyViMode guibg='..mode_color[vim.fn.mode()])
-      return '  NVCode '
-    end,
-    separator = ' ',
-    separator_highlight = {colors.yellow,function()
-      if not buffer_not_empty() then
-        return colors.bg
-      end
-      return colors.bg
-    end},
-    highlight = {colors.grey,colors.bg,'bold'},
-  },
-}
--- gls.left[3] ={
---   FileIcon = {
---     separator = ' ',
---     provider = 'FileIcon',
---     condition = buffer_not_empty,
---     highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg},
---   },
--- }
--- gls.left[4] = {
---   FileName = {
---     provider = {'FileSize'},
---     condition = buffer_not_empty,
---     separator = ' ',
---     separator_highlight = {colors.purple,colors.bg},
---     highlight = {colors.magenta,colors.bg}
---   }
--- }
+    GitIcon = {
+        provider = function()
+            return ' '
+        end,
+        condition = condition.check_git_workspace,
+        separator = ' ',
+        separator_highlight = {'NONE', colors.bg},
+        highlight = {colors.orange, colors.bg, 'bold'}
+    }
+}
 
 gls.left[3] = {
-  GitIcon = {
-    provider = function() return ' ' end,
-    condition = buffer_not_empty,
-    highlight = {colors.orange,colors.bg},
-  }
+    GitBranch = {
+        provider = 'GitBranch',
+        condition = condition.check_git_workspace,
+        separator = '',
+        separator_highlight = {'NONE', colors.bg},
+        highlight = {colors.grey, colors.bg, 'bold'}
+    }
 }
+
 gls.left[4] = {
-  GitBranch = {
-    provider = 'GitBranch',
-    separator = ' ',
-    separator_highlight = {colors.purple,colors.bg},
-    condition = buffer_not_empty,
-    highlight = {colors.grey,colors.bg},
-  }
+    DiffAdd = {
+        provider = 'DiffAdd',
+        condition = condition.hide_in_width,
+        icon = '  ',
+        highlight = {colors.green, colors.bg}
+    }
 }
-
-local checkwidth = function()
-  local squeeze_width  = vim.fn.winwidth(0) / 2
-  if squeeze_width > 40 then
-    return true
-  end
-  return false
-end
-
 gls.left[5] = {
-  DiffAdd = {
-    provider = 'DiffAdd',
-    condition = checkwidth,
-    -- separator = ' ',
-    -- separator_highlight = {colors.purple,colors.bg},
-    icon = '  ',
-    highlight = {colors.green,colors.bg},
-  }
+    DiffModified = {
+        provider = 'DiffModified',
+        condition = condition.hide_in_width,
+        icon = ' 柳',
+        highlight = {colors.orange, colors.bg}
+    }
 }
 gls.left[6] = {
-  DiffModified = {
-    provider = 'DiffModified',
-    condition = checkwidth,
-    -- separator = ' ',
-    -- separator_highlight = {colors.purple,colors.bg},
-    icon = '  ',
-    highlight = {colors.blue,colors.bg},
-  }
-}
-gls.left[7] = {
-  DiffRemove = {
-    provider = 'DiffRemove',
-    condition = checkwidth,
-    -- separator = ' ',
-    -- separator_highlight = {colors.purple,colors.bg},
-    icon = '  ',
-    highlight = {colors.red,colors.bg},
-  }
-}
-gls.left[8] = {
-  LeftEnd = {
-    provider = function() return ' ' end,
-    separator = ' ',
-    separator_highlight = {colors.purple,colors.bg},
-    highlight = {colors.purple,colors.bg}
-  }
-}
-gls.left[9] = {
-  DiagnosticError = {
-    provider = 'DiagnosticError',
-    icon = '  ',
-    highlight = {colors.red,colors.bg}
-  }
-}
-gls.left[10] = {
-  Space = {
-    provider = function () return '' end
-  }
-}
-gls.left[11] = {
-  DiagnosticWarn = {
-    provider = 'DiagnosticWarn',
-    icon = '  ',
-    highlight = {colors.yellow,colors.bg},
-  }
-}
-gls.left[12] = {
-  DiagnosticHint = {
-    provider = 'DiagnosticHint',
-    icon = '   ',
-    highlight = {colors.blue,colors.bg},
-  }
-}
-gls.left[13] = {
-  DiagnosticInfo = {
-    provider = 'DiagnosticInfo',
-    icon = '   ',
-    highlight = {colors.orange,colors.bg},
-  }
-}
-gls.right[1]= {
-  FileFormat = {
-    provider = 'FileFormat',
-    separator = ' ',
-    separator_highlight = {colors.bg,colors.bg},
-    highlight = {colors.grey,colors.bg},
-  }
+    DiffRemove = {
+        provider = 'DiffRemove',
+        condition = condition.hide_in_width,
+        icon = '  ',
+        highlight = {colors.red, colors.bg}
+    }
+}
+
+gls.right[1] = {
+    DiagnosticError = {
+        provider = 'DiagnosticError',
+        icon = '  ',
+        highlight = {colors.red, colors.bg}
+    }
 }
 gls.right[2] = {
-  LineInfo = {
-    provider = 'LineColumn',
-    separator = ' | ',
-    separator_highlight = {colors.darkblue,colors.bg},
-    highlight = {colors.grey,colors.bg},
-  },
+    DiagnosticWarn = {
+        provider = 'DiagnosticWarn',
+        icon = '  ',
+        highlight = {colors.yellow, colors.bg}
+    }
 }
+
 gls.right[3] = {
-  PerCent = {
-    provider = 'LinePercent',
-    separator = ' |',
-    separator_highlight = {colors.darkblue,colors.bg},
-    highlight = {colors.grey,colors.bg},
-  }
+    DiagnosticHint = {
+        provider = 'DiagnosticHint',
+        icon = '  ',
+        highlight = {colors.blue, colors.bg}
+    }
 }
+
 gls.right[4] = {
-  ScrollBar = {
-    provider = 'ScrollBar',
-    highlight = {colors.yellow,colors.purple},
-  }
+    DiagnosticInfo = {
+        provider = 'DiagnosticInfo',
+        icon = '  ',
+        highlight = {colors.blue, colors.bg}
+    }
+}
+
+gls.right[5] = {
+    ShowLspClient = {
+        provider = 'GetLspClient',
+        condition = function()
+            local tbl = {['dashboard'] = true, [' '] = true}
+            if tbl[vim.bo.filetype] then return false end
+            return true
+        end,
+        icon = ' ',
+        highlight = {colors.grey, colors.bg, 'bold'}
+    }
+}
+
+gls.right[6] = {
+    LineInfo = {
+        provider = 'LineColumn',
+        separator = '  ',
+        separator_highlight = {'NONE', colors.bg},
+        highlight = {colors.grey, colors.bg}
+    }
 }
 
--- gls.short_line_left[1] = {
---   BufferType = {
---     provider = 'FileTypeName',
---     separator = ' ',
---     separator_highlight = {colors.purple,colors.bg},
---     highlight = {colors.grey,colors.purple}
---   }
--- }
+gls.right[7] = {
+    PerCent = {
+        provider = 'LinePercent',
+        separator = ' ',
+        separator_highlight = {'NONE', colors.bg},
+        highlight = {colors.grey, colors.bg, 'bold'}
+    }
+}
 
 gls.short_line_left[1] = {
-  LeftEnd = {
-    provider = function() return ' ' end,
-    separator = ' ',
-    separator_highlight = {colors.purple,colors.bg},
-    highlight = {colors.purple,colors.bg}
-  }
+    BufferType = {
+        provider = 'FileTypeName',
+        separator = ' ',
+        separator_highlight = {'NONE', colors.bg},
+        highlight = {colors.grey, colors.bg, 'bold'}
+    }
+}
+
+gls.short_line_left[2] = {
+    SFileName = {
+        provider = 'SFileName',
+        condition = condition.buffer_not_empty,
+        highlight = {colors.grey, colors.bg, 'bold'}
+    }
+}
+
+gls.short_line_right[1] = {
+    BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}
 }