TokyoNight.nvim 项目教程
1. 项目的目录结构及介绍
TokyoNight.nvim 项目的目录结构如下:
tokyonight.nvim/
├── lua/
│ ├── tokyonight/
│ │ ├── extra/
│ │ │ ├── init.lua
│ │ │ └── cool-app.lua
│ │ ├── colors.lua
│ │ ├── config.lua
│ │ ├── highlights.lua
│ │ ├── init.lua
│ │ ├── theme.lua
│ │ └── util.lua
│ └── tokyonight.lua
├── scripts/
│ └── build
├── README.md
└── LICENSE
目录介绍
- lua/: 包含所有 Lua 脚本文件。
- tokyonight/: 主题的核心文件夹。
- extra/: 包含额外主题的模板文件。
- colors.lua: 定义颜色方案的文件。
- config.lua: 配置文件。
- highlights.lua: 定义高亮显示的文件。
- init.lua: 初始化文件。
- theme.lua: 主题定义文件。
- util.lua: 工具函数文件。
- tokyonight.lua: 主入口文件。
- tokyonight/: 主题的核心文件夹。
- scripts/: 包含构建脚本。
- README.md: 项目说明文档。
- LICENSE: 项目许可证。
2. 项目的启动文件介绍
项目的启动文件是 lua/tokyonight/init.lua
。这个文件负责初始化主题并加载必要的配置和颜色方案。
require("tokyonight").setup({
-- 配置选项
})
3. 项目的配置文件介绍
项目的配置文件是 lua/tokyonight/config.lua
。这个文件定义了主题的默认配置选项,并提供了自定义配置的接口。
默认配置
---@class tokyonight.Config
---@field on_colors fun(colors: ColorScheme)
---@field on_highlights fun(highlights: tokyonight.Highlights, colors: ColorScheme)
M.defaults = {
style = "moon",
-- 其他默认配置选项
}
自定义配置
用户可以通过调用 setup
函数来覆盖默认配置:
require("tokyonight").setup({
style = "night",
on_colors = function(colors)
colors.hint = colors.orange
colors.error = "#ff0000"
end,
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.fg_dark }
hl.TelescopeResultsTitle = { bg = c.bg_dark, fg = c.bg_dark }
end
})
通过这种方式,用户可以根据自己的需求调整主题的颜色和高亮设置。