Apache License 2.0

项目介绍

craftzdog/solarized-osaka.nvim 是一个托管在 GitHub 上的开源项目,主要使用 Lua 编写,采用 Apache License 2.0 许可证,目前获得 1.0k 个 Star、63 次 Fork。

仓库全名
craftzdog/solarized-osaka.nvim
开源许可证
Apache License 2.0
Star 数
1.0k
Fork 数
63
未关闭 Issue
1

README 摘要

🏯 Solarized Osaka One of the Solarized-inspired dark theme for Neovim written in Lua. 🎨 More Colors Ethan Schoonover originally created the Solarized color scheme in 2011, featuring a set of 16 colors. However, this assortment of colors falls short in providing adequate variations for additional signs, alerts, tooltips, and various other UI components made available by recent Neovim plugins. Furthermore, the text…

完整内容见 GitHub 原始 README 或本页 。

常见问题

solarized-osaka.nvim 用什么语言开发?

主要使用 Lua 编写,采用 Apache License 2.0 许可证,目前有 1.0k 个 Star。

solarized-osaka.nvim 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 solarized-osaka.nvim 的源码?

可以直接克隆仓库:git clone https://github.com/craftzdog/solarized-osaka.nvim.git,默认分支为 main;安装与运行步骤见仓库 README。

solarized-osaka.nvim 最近还在维护吗?

仓库最近一次更新为 8月24日,当前有 1 个未关闭 Issue;Star 数为 1.0k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

🏯 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1172
价值分
642
活跃状态
活跃

语言占比

CSS
JavaScript
Lua
Shell
Vim Script

README

🏯 Solarized Osaka

One of the Solarized-inspired dark theme for Neovim written in Lua.

solarized-osaka_screenshot01

🎨 More Colors

Ethan Schoonover originally created the Solarized color scheme in 2011, featuring a set of 16 colors. However, this assortment of colors falls short in providing adequate variations for additional signs, alerts, tooltips, and various other UI components made available by recent Neovim plugins. Furthermore, the text colors in the original theme are somewhat too dark when displayed on modern, vibrant monitors.

Solarized Osaka improves upon this by introducing additional colors, enriching the overall theme to ensure compatibility with newer plugins and enhancing visibility on contemporary monitors. The theme brightens the base colors slightly, creating a visually appealing and functional color palette.

Here is what the improved color palette looks like:

Color Palette

A Figma design is available here.

✨ Features

  • Supports the latest Neovim 0.9.0 features.
  • Enhances terminal colors.
  • Introduces a darker background option for sidebar-like windows.
  • Offers a vivid style for reading in bright environments.
  • Supports all major plugins.

⚡️ Requirements

📦 Installation

Install the theme with your preferred package manager, such as folke/lazy.nvim:

{
  "craftzdog/solarized-osaka.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
}

🚀 Usage

Vim Script

colorscheme solarized-osaka
# light mode
colorscheme solarized-osaka-light
# vivid mode
colorscheme solarized-osaka-vivid

Lua

vim.cmd[[colorscheme solarized-osaka]]

⚙️ Configuration

❗️ Set the configuration BEFORE loading the color scheme with colorscheme solarized-osaka.

Solarized Osaka uses the default options, unless setup is explicitly called.

require("solarized-osaka").setup({
  -- your configuration comes here
  -- or leave it empty to use the default settings
  style = "", -- The default dark style. Set to `vivid` for a higher-contrast variant that stays readable in bright environments
  light_style = "light", -- The theme is used when the background is set to light
  transparent = true, -- Enable this to disable setting the background color
  terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
  styles = {
    -- Style to be applied to different syntax groups
    -- Value is any valid attr-list value for `:help nvim_set_hl`
    comments = { italic = true },
    keywords = { italic = true },
    functions = {},
    variables = {},
    -- Background styles. Can be "dark", "transparent" or "normal"
    sidebars = "dark", -- style for sidebars, see below
    floats = "dark", -- style for floating windows
  },
  sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
  vivid_brightness = 0.3, -- Adjusts how far the **Vivid** style brightens text colors. Number between 0 and 1, from the default palette to white
  hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
  dim_inactive = false, -- dims inactive windows
  lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold

  --- You can override specific color groups to use other groups or a hex color
  --- function will be called with a ColorScheme table
  ---@param colors ColorScheme
  on_colors = function(colors) end,

  --- You can override specific highlights to use other groups or a hex color
  --- function will be called with a Highlights and ColorScheme table
  ---@param highlights Highlights
  ---@param colors ColorScheme
  on_highlights = function(highlights, colors) end,
})

🪓 Overriding Colors & Highlight Groups

How the highlight groups are calculated:

  1. colors are determined based on your configuration, with the ability to override them using config.on_colors(colors).
  2. These colors are utilized to generate the highlight groups.
  3. config.on_highlights(highlights, colors) can be used to override highlight groups.

For default values of colors and highlights, please consult the colors.lua file.

Settings and color alteration demonstration

require("solarized-osaka").setup({
  -- disable italic for functions
  styles = {
    functions = {}
  },
  sidebars = { "qf", "vista_kind", "terminal", "packer" },
  -- Change the "hint" color to the "orange" color, and make the "error" color bright red
  on_colors = function(colors)
    colors.hint = colors.orange
    colors.error = "#ff0000"
  end
})

Borderless Telescope example

require("solarized-osaka").setup({
  on_highlights = function(hl, c)
    local prompt = "#2d3149"
    hl.TelescopeNormal = {
      bg = c.bg_dark,
      fg = c.fg_dark,
    }
    hl.TelescopeBorder = {
      bg = c.bg_dark,
      fg = c.bg_dark,
    }
    hl.TelescopePromptNormal = {
      bg = prompt,
    }
    hl.TelescopePromptBorder = {
      bg = prompt,
      fg = prompt,
    }
    hl.TelescopePromptTitle = {
      bg = prompt,
      fg = prompt,
    }
    hl.TelescopePreviewTitle = {
      bg = c.bg_dark,
      fg = c.bg_dark,
    }
    hl.TelescopeResultsTitle = {
      bg = c.bg_dark,
      fg = c.bg_dark,
    }
  end,
})

Fix undercurls in Tmux

To have undercurls show up and in color, add the following to your Tmux configuration file:

# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'  # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'  # underscore colours - needs tmux-3.0

# Alacritty
set -as terminal-features ",alacritty:RGB"

评论

暂无评论