bluz71 / vim-nightfly-colors

A dark midnight theme for modern Neovim & classic Vim
MIT License
828 stars 51 forks source link

Lsp Saga Support #47

Closed hamidreza4dev closed 1 year ago

hamidreza4dev commented 1 year ago

In the latest version of LSPSaga, the color of the popup is purple by default, it can be matched with the theme with this piece of code.

-- LSPSaga
highlight(0, "TitleString", { bg = bg, fg = black, bold = true })
highlight(0, "TitleSymbol", { bg = bg, fg = bg })
highlight(0, "TitleIcon", { bg = bg, fg = red })
highlight(0, "SagaBorder", { bg = bg })
highlight(0, "SagaExpand", { fg = red })
highlight(0, "SagaCollapse", { fg = red })
highlight(0, "SagaBeacon", { bg = purple })
highlight(0, "ActionPreviewNormal", { link = "SagaBorder" })
highlight(0, "ActionPreviewBorder", { link = "SagaBorder" })
highlight(0, "ActionPreviewTitle", { fg = black, bg = bg })
highlight(0, "CodeActionNormal", { link = "SagaBorder" })
highlight(0, "CodeActionBorder", { link = "SagaBorder" })
highlight(0, "CodeActionText", { fg = yellow })
highlight(0, "CodeActionConceal", { fg = green })
highlight(0, "FinderSelection", { fg = cyan_blue, bold = true })
highlight(0, "FinderFileName", { fg = white })
highlight(0, "FinderCount", { link = "Title" })
highlight(0, "FinderIcon", { fg = cyan_blue })
highlight(0, "FinderType", { fg = purple })
highlight(0, "FinderSpinnerTitle", { fg = purple, bold = true })
highlight(0, "FinderSpinner", { fg = purple, bold = true })
highlight(0, "FinderPreviewSearch", { link = "Search" })
highlight(0, "FinderVirtText", { fg = red })
highlight(0, "FinderNormal", { link = "SagaBorder" })
highlight(0, "FinderBorder", { link = "SagaBorder" })
highlight(0, "FinderPreviewBorder", { link = "SagaBorder" })
highlight(0, "DefinitionBorder", { link = "SagaBorder" })
highlight(0, "DefinitionNormal", { link = "SagaBorder" })
highlight(0, "DefinitionSearch", { link = "Search" })
highlight(0, "HoverNormal", { link = "SagaBorder" })
highlight(0, "HoverBorder", { link = "SagaBorder" })
highlight(0, "RenameBorder", { link = "SagaBorder" })
highlight(0, "RenameNormal", { fg = orange, bg = bg })
highlight(0, "RenameMatch", { link = "Search" })
highlight(0, "DiagnosticSource", { fg = "gray" })
highlight(0, "DiagnosticNormal", { link = "SagaBorder" })
highlight(0, "DiagnosticBorder", { link = "SagaBorder" })
highlight(0, "DiagnosticErrorBorder", { link = "SagaBorder" })
highlight(0, "DiagnosticWarnBorder", { link = "SagaBorder" })
highlight(0, "DiagnosticHintBorder", { link = "SagaBorder" })
highlight(0, "DiagnosticInfoBorder", { link = "SagaBorder" })
highlight(0, "DiagnosticPos", { fg = grey_blue })
highlight(0, "DiagnosticWord", { fg = blue })
highlight(0, "CallHierarchyNormal", { link = "SagaBorder" })
highlight(0, "CallHierarchyBorder", { link = "SagaBorder" })
highlight(0, "CallHierarchyIcon", { fg = purple })
highlight(0, "CallHierarchyTitle", { fg = red })
highlight(0, "LspSagaLightBulb", { link = "DiagnosticSignHint" })
highlight(0, "SagaShadow", { bg = blue })
highlight(0, "OutlineIndent", { fg = purple })
highlight(0, "OutlinePreviewBorder", { link = "SagaBorder" })
highlight(0, "OutlinePreviewNormal", { link = "SagaBorder" })
highlight(0, "TerminalBorder", { link = "SagaBorder" })
highlight(0, "TerminalNormal", { link = "SagaBorder" })

If you approve it, add it

more information on https://github.com/glepnir/lspsaga.nvim/blob/main/lua/lspsaga/highlight.lua

bluz71 commented 1 year ago

I am going to need time to assess this.

On face value this seems far too large a block to support just one plugin. I count 54 highlight statements in this issue. That feels like far too much.

By contrast, tokyonight theme only needs 19 groups and nightfox theme only needs 11 groups to support LSP Saga.

When I have time I will experiment with LSP Saga and see what is needed to support the plugin in a minimal kind-of way.

Cheers.

bluz71 commented 1 year ago

I have implemented lspsaga.nvim. Different to the suggestions in the first post.

Hopefully it is satisfactory. Post in this thread if there is an error.

For now I am closing this. Thanks.