Set up colour scheme for Catppuccin Macchiato

This commit is contained in:
Evie Litherland-Smith 2023-02-14 22:38:18 +00:00
parent 4633fbe83d
commit e5025c6a39
11 changed files with 98 additions and 774 deletions

View file

@ -2,6 +2,25 @@ gui:
showFileTree: true showFileTree: true
showCommandLog: false showCommandLog: false
showIcons: true showIcons: true
theme:
lightTheme: false
activeBorderColor:
- "#a6da95" # Green
- bold
inactiveBorderColor:
- "#cad3f5" # Text
optionsTextColor:
- "#8aadf4" # Blue
selectedLineBgColor:
- "#363a4f" # Surface0
selectedRangeBgColor:
- "#363a4f" # Surface0
cherryPickedCommitBgColor:
- "#8bd5ca" # Teal
cherryPickedCommitFgColor:
- "#8aadf4" # Blue
unstagedChangesColor:
- red # Red
promptToReturnFromSubprocess: false promptToReturnFromSubprocess: false
# to exit immediately if run outside of the Git repository # to exit immediately if run outside of the Git repository
notARepository: 'quit' notARepository: 'quit'

View file

@ -7,7 +7,5 @@ vim.opt.fillchars:append({
vertright = '', vertright = '',
verthoriz = '', verthoriz = '',
}) })
require("config.nightfox") require("config.catppuccin")
require("config.onedarkpro") vim.cmd("colorscheme catppuccin")
require("config.kanagawa")
vim.cmd("colorscheme nightfox")

View file

@ -0,0 +1,25 @@
require("catppuccin").setup({
flavour = "macchiato",
transparent_background = true,
term_colors = true,
dim_inactive = {
enabled = true,
},
integrations = {
gitsigns = true,
indent_blankline = {
enabled = true,
colored_indent_levels = true,
},
cmp = true,
native_lsp = {
enabled = true
},
notify = true,
nvimtree = true,
treesitter = true,
treesitter_context = true,
telescope = true,
lsp_trouble = true
}
})

View file

@ -1,466 +1,5 @@
-- Feline local ctp_feline = require("catppuccin.groups.integrations.feline")
-- https://github.com/EdenEast/nightfox.nvim/blob/main/mics/feline.lua local components = ctp_feline.get()
--
-- This file is a complete example of creating the feline configuration shown in the readme of
-- nightfox. This configuration generates its own highlight groups from the currently applied
-- colorscheme. These highlight groups are regenreated on colorscheme changes.
--
-- Required plugins:
-- - `feline-nvim/feline.nvim`
-- - `kyazdani42/nvim-web-devicons`
--
-- This file is required to be in your `lua` folder of your config. Your colorscheme should also
-- be applied before this file is sourced. This file cannot be located `lua/feline.lua` as this
-- would clash with the actual plugin require path.
--
-- # Example:
--
-- ```lua
-- vim.cmd("colorscheme nightfox")
-- require('user.ui.feline')
-- ```
--
-- This assumes that this file is located at `lua/user/ui/feline.lua`
local fmt = string.format
----------------------------------------------------------------------------------------------------
-- Colors
---Convert color number to hex string
---@param n number
---@return string
local hex = function(n)
if n then
return fmt("#%06x", n)
end
end
---Parse `style` string into nvim_set_hl options
---@param style string
---@return table
local function parse_style(style)
if not style or style == "NONE" then
return {}
end
local result = {}
for token in string.gmatch(style, "([^,]+)") do
result[token] = true
end
return result
end
---Get highlight opts for a given highlight group name
---@param name string
---@return table
local function get_highlight(name)
local hl = vim.api.nvim_get_hl_by_name(name, true)
if hl.link then
return get_highlight(hl.link)
end
local result = parse_style(hl.style)
result.fg = hl.foreground and hex(hl.foreground)
result.bg = hl.background and hex(hl.background)
result.sp = hl.special and hex(hl.special)
return result
end
---Set highlight group from provided table
---@param groups table
local function set_highlights(groups)
for group, opts in pairs(groups) do
vim.api.nvim_set_hl(0, group, opts)
end
end
---Generate a color palette from the current applied colorscheme
---@return table
local function generate_pallet_from_colorscheme()
-- stylua: ignore
local color_map = {
black = { index = 0, default = "#393b44" },
red = { index = 1, default = "#c94f6d" },
green = { index = 2, default = "#81b29a" },
yellow = { index = 3, default = "#dbc074" },
blue = { index = 4, default = "#719cd6" },
magenta = { index = 5, default = "#9d79d6" },
cyan = { index = 6, default = "#63cdcf" },
white = { index = 7, default = "#dfdfe0" },
}
local diagnostic_map = {
hint = { hl = "DiagnosticHint", default = color_map.green.default },
info = { hl = "DiagnosticInfo", default = color_map.blue.default },
warn = { hl = "DiagnosticWarn", default = color_map.yellow.default },
error = { hl = "DiagnosticError", default = color_map.red.default },
}
local pallet = {}
for name, value in pairs(color_map) do
local global_name = "terminal_color_" .. value.index
pallet[name] = vim.g[global_name] and vim.g[global_name] or value.default
end
for name, value in pairs(diagnostic_map) do
pallet[name] = get_highlight(value.hl).fg or value.default
end
pallet.sl = get_highlight("StatusLine")
pallet.sel = get_highlight("TabLineSel")
return pallet
end
---Generate user highlight groups based on the curent applied colorscheme
---
---NOTE: This is a global because I dont known where this file will be in your config
---and it is needed for the autocmd below
_G._generate_user_statusline_highlights = function()
local pal = generate_pallet_from_colorscheme()
-- stylua: ignore
local sl_colors = {
Black = { fg = pal.black, bg = pal.white },
Red = { fg = pal.red, bg = pal.sl.bg },
Green = { fg = pal.green, bg = pal.sl.bg },
Yellow = { fg = pal.yellow, bg = pal.sl.bg },
Blue = { fg = pal.blue, bg = pal.sl.bg },
Magenta = { fg = pal.magenta, bg = pal.sl.bg },
Cyan = { fg = pal.cyan, bg = pal.sl.bg },
White = { fg = pal.white, bg = pal.black },
}
local colors = {}
for name, value in pairs(sl_colors) do
colors["User" .. name] = { fg = value.fg, bg = value.bg, bold = true }
colors["UserRv" .. name] = { fg = value.bg, bg = value.fg, bold = true }
end
local status = vim.o.background == "dark" and { fg = pal.black, bg = pal.white }
or { fg = pal.white, bg = pal.black }
local groups = {
-- statusline
UserSLHint = { fg = pal.sl.bg, bg = pal.hint, bold = true },
UserSLInfo = { fg = pal.sl.bg, bg = pal.info, bold = true },
UserSLWarn = { fg = pal.sl.bg, bg = pal.warn, bold = true },
UserSLError = { fg = pal.sl.bg, bg = pal.error, bold = true },
UserSLStatus = { fg = status.fg, bg = status.bg, bold = true },
UserSLFtHint = { fg = pal.sel.bg, bg = pal.hint },
UserSLHintInfo = { fg = pal.hint, bg = pal.info },
UserSLInfoWarn = { fg = pal.info, bg = pal.warn },
UserSLWarnError = { fg = pal.warn, bg = pal.error },
UserSLErrorStatus = { fg = pal.error, bg = status.bg },
UserSLStatusBg = { fg = status.bg, bg = pal.sl.bg },
UserSLAlt = pal.sel,
UserSLAltSep = { fg = pal.sl.bg, bg = pal.sel.bg },
UserSLGitBranch = { fg = pal.yellow, bg = pal.sl.bg },
}
set_highlights(vim.tbl_extend("force", colors, groups))
end
_generate_user_statusline_highlights()
vim.api.nvim_create_augroup("UserStatuslineHighlightGroups", { clear = true })
vim.api.nvim_create_autocmd({ "SessionLoadPost", "ColorScheme" }, {
callback = function()
_generate_user_statusline_highlights()
end,
})
----------------------------------------------------------------------------------------------------
-- Feline
local vi = {
-- Map vi mode to text name
text = {
n = "NORMAL",
no = "NORMAL",
i = "INSERT",
v = "VISUAL",
V = "V-LINE",
[""] = "V-BLOCK",
c = "COMMAND",
cv = "COMMAND",
ce = "COMMAND",
R = "REPLACE",
Rv = "REPLACE",
s = "SELECT",
S = "SELECT",
[""] = "SELECT",
t = "TERMINAL",
},
-- Maps vi mode to highlight group color defined above
colors = {
n = "UserRvCyan",
no = "UserRvCyan",
i = "UserSLStatus",
v = "UserRvMagenta",
V = "UserRvMagenta",
[""] = "UserRvMagenta",
R = "UserRvRed",
Rv = "UserRvRed",
r = "UserRvBlue",
rm = "UserRvBlue",
s = "UserRvMagenta",
S = "UserRvMagenta",
[""] = "FelnMagenta",
c = "UserRvYellow",
["!"] = "UserRvBlue",
t = "UserRvBlue",
},
-- Maps vi mode to seperator highlight goup defined above
sep = {
n = "UserCyan",
no = "UserCyan",
i = "UserSLStatusBg",
v = "UserMagenta",
V = "UserMagenta",
[""] = "UserMagenta",
R = "UserRed",
Rv = "UserRed",
r = "UserBlue",
rm = "UserBlue",
s = "UserMagenta",
S = "UserMagenta",
[""] = "FelnMagenta",
c = "UserYellow",
["!"] = "UserBlue",
t = "UserBlue",
},
}
local icons = {
locker = "", -- #f023
page = "", -- 2630
line_number = "", -- e0a1
connected = "", -- f817
dos = "", -- e70f
unix = "", -- f17c
mac = "", -- f179
mathematical_L = "𝑳",
vertical_bar = "",
vertical_bar_thin = "",
left = "",
right = "",
block = "",
left_filled = "",
right_filled = "",
slant_left = "",
slant_left_thin = "",
slant_right = "",
slant_right_thin = "",
slant_left_2 = "",
slant_left_2_thin = "",
slant_right_2 = "",
slant_right_2_thin = "",
left_rounded = "",
left_rounded_thin = "",
right_rounded = "",
right_rounded_thin = "",
circle = "",
}
---Get the number of diagnostic messages for the provided severity
---@param str string [ERROR | WARN | INFO | HINT]
---@return string
local function get_diag(str)
local diagnostics = vim.diagnostic.get(0, { severity = vim.diagnostic.severity[str] })
local count = #diagnostics
return (count > 0) and " " .. count .. " " or ""
end
---Get highlight group from vi mode
---@return string
local function vi_mode_hl()
return vi.colors[vim.fn.mode()] or "UserSLViBlack"
end
---Get sep highlight group from vi mode
local function vi_sep_hl()
return vi.sep[vim.fn.mode()] or "UserSLBlack"
end
---Get the path of the file relative to the cwd
---@return string
local function file_info()
local list = {}
if vim.bo.readonly then
table.insert(list, "🔒")
end
if vim.bo.modified then
table.insert(list, "")
end
table.insert(list, vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":~:."))
return table.concat(list, " ")
end
-- Create a table that contians every status line commonent
local c = {
vimode = {
provider = function()
return fmt(" %s ", vi.text[vim.fn.mode()])
end,
hl = vi_mode_hl,
right_sep = { str = "", hl = vi_sep_hl },
},
gitbranch = {
provider = "git_branch",
icon = "",
hl = "UserSLGitBranch",
right_sep = { str = " ", hl = "UserSLGitBranch" },
enabled = function()
return vim.b.gitsigns_status_dict ~= nil
end,
},
file_type = {
provider = function()
return fmt(" %s ", vim.bo.filetype:upper())
end,
hl = "UserSLAlt",
},
fileinfo = {
provider = { name = "file_info", opts = { type = "relative" } },
hl = "UserSLAlt",
left_sep = { str = "", hl = "UserSLAltSep" },
right_sep = { str = "", hl = "UserSLAltSep" },
},
file_enc = {
provider = function()
local os = icons[vim.bo.fileformat] or ""
return fmt(" %s %s ", os, vim.bo.fileencoding)
end,
hl = "StatusLine",
left_sep = { str = icons.left_filled, hl = "UserSLAltSep" },
},
cur_position = {
provider = function()
-- TODO: What about 4+ diget line numbers?
return fmt(" %3d:%-2d ", unpack(vim.api.nvim_win_get_cursor(0)))
end,
hl = vi_mode_hl,
left_sep = { str = icons.left_filled, hl = vi_sep_hl },
},
cur_percent = {
provider = function()
return " " .. require("feline.providers.cursor").line_percentage() .. " "
end,
hl = vi_mode_hl,
left_sep = { str = icons.left, hl = vi_mode_hl },
},
default = { -- needed to pass the parent StatusLine hl group to right hand side
provider = "",
hl = "StatusLine",
},
lsp_status = {
provider = function()
return require("lsp-status").status()
end,
hl = "UserSLStatus",
left_sep = { str = "", hl = "UserSLStatusBg", always_visible = true },
right_sep = { str = "", hl = "UserSLErrorStatus", always_visible = true },
},
lsp_error = {
provider = function()
return get_diag("ERROR")
end,
hl = "UserSLError",
right_sep = { str = "", hl = "UserSLWarnError", always_visible = true },
},
lsp_warn = {
provider = function()
return get_diag("WARN")
end,
hl = "UserSLWarn",
right_sep = { str = "", hl = "UserSLInfoWarn", always_visible = true },
},
lsp_info = {
provider = function()
return get_diag("INFO")
end,
hl = "UserSLInfo",
right_sep = { str = "", hl = "UserSLHintInfo", always_visible = true },
},
lsp_hint = {
provider = function()
return get_diag("HINT")
end,
hl = "UserSLHint",
right_sep = { str = "", hl = "UserSLFtHint", always_visible = true },
},
in_fileinfo = {
provider = "file_info",
hl = "StatusLine",
},
in_position = {
provider = "position",
hl = "StatusLine",
},
}
local active = {
{ -- left
c.vimode,
c.gitbranch,
c.fileinfo,
c.default, -- must be last
},
{ -- right
c.lsp_status,
c.lsp_error,
c.lsp_warn,
c.lsp_info,
c.lsp_hint,
c.file_type,
c.file_enc,
c.cur_position,
c.cur_percent,
},
}
local inactive = {
{ c.in_fileinfo }, -- left
{ c.in_position }, -- right
}
require("feline").setup({ require("feline").setup({
components = { active = active, inactive = inactive }, components = components,
highlight_reset_triggers = {},
force_inactive = {
filetypes = {
"NvimTree",
"Trouble",
"packer",
"dap-repl",
"dapui_scopes",
"dapui_stacks",
"dapui_watches",
"dapui_repl",
"LspTrouble",
"qf",
"help",
},
buftypes = { "terminal" },
bufnames = {},
},
disable = {
filetypes = {
"dashboard",
"startify",
},
},
}) })

View file

@ -0,0 +1,12 @@
require("indent_blankline").setup({
show_current_context = true,
show_current_context_start = false,
char_highlight_list = {
"IndentBlanklineIndent1",
"IndentBlanklineIndent2",
"IndentBlanklineIndent3",
"IndentBlanklineIndent4",
"IndentBlanklineIndent5",
"IndentBlanklineIndent6",
},
})

View file

@ -1,9 +1,3 @@
local lsp_status = require("lsp-status")
lsp_status.config({
diagnostics = false,
})
lsp_status.register_progress()
-- Mappings. -- Mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions -- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap = true, silent = true } local opts = { noremap = true, silent = true }
@ -32,7 +26,6 @@ end
-- Use an on_attach function to only map the following keys -- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer -- after the language server attaches to the current buffer
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
lsp_status.on_attach(client)
-- Mappings. -- Mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
local bufopts = { noremap = true, silent = true, buffer = bufnr } local bufopts = { noremap = true, silent = true, buffer = bufnr }
@ -60,7 +53,7 @@ local lsp_flags = {
debounce_text_changes = 150, debounce_text_changes = 150,
} }
local capabilities = vim.tbl_extend("keep", require("cmp_nvim_lsp").default_capabilities(), lsp_status.capabilities) local capabilities = require("cmp_nvim_lsp").default_capabilities()
-- Set up null_ls first -- Set up null_ls first
local null_ls = require("null-ls") local null_ls = require("null-ls")

View file

@ -1,220 +0,0 @@
-- Tabby
-- https://github.com/UserEast/nightfox.nvim/tree/main/mics/tabby.lua
--
-- This file is a complete example of creating the tabby configuration shown in the readme of
-- nightfox. This configuration generates its own highlight groups from the currently applied
-- colorscheme. These highlight groups are regenreated on colorscheme changes.
--
-- Required plugins:
-- - `nanozuki/tabby.nvim`
--
-- This file is required to be in your `lua` folder of your config. Your colorscheme should also
-- be applied before this file is sourced. This file cannot be located `lua/tabby.lua` as this
-- would clash with the actual plugin require path.
--
--
-- # Example:
--
-- ```lua
-- vim.cmd("colorscheme nightfox")
-- require('user.ui.tabby')
-- ```
--
-- This assumes that this file is located at `lua/user/ui/tabby.lua`
local fmt = string.format
----------------------------------------------------------------------------------------------------
-- Colors
---Convert color number to hex string
---@param n number
---@return string
local hex = function(n)
if n then
return fmt("#%06x", n)
end
end
---Parse `style` string into nvim_set_hl options
---@param style string
---@return table
local function parse_style(style)
if not style or style == "NONE" then
return {}
end
local result = {}
for token in string.gmatch(style, "([^,]+)") do
result[token] = true
end
return result
end
---Get highlight opts for a given highlight group name
---@param name string
---@return table
local function get_highlight(name)
local hl = vim.api.nvim_get_hl_by_name(name, true)
if hl.link then
return get_highlight(hl.link)
end
local result = parse_style(hl.style)
result.fg = hl.foreground and hex(hl.foreground)
result.bg = hl.background and hex(hl.background)
result.sp = hl.special and hex(hl.special)
return result
end
---Set highlight group from provided table
---@param groups table
local function set_highlights(groups)
for group, opts in pairs(groups) do
vim.api.nvim_set_hl(0, group, opts)
end
end
---Generate a color palette from the current applied colorscheme
---@return table
local function generate_pallet_from_colorscheme()
-- stylua: ignore
local color_map = {
black = { index = 0, default = "#393b44" },
red = { index = 1, default = "#c94f6d" },
green = { index = 2, default = "#81b29a" },
yellow = { index = 3, default = "#dbc074" },
blue = { index = 4, default = "#719cd6" },
magenta = { index = 5, default = "#9d79d6" },
cyan = { index = 6, default = "#63cdcf" },
white = { index = 7, default = "#dfdfe0" },
}
local pallet = {}
for name, value in pairs(color_map) do
local global_name = "terminal_color_" .. value.index
pallet[name] = vim.g[global_name] and vim.g[global_name] or value.default
end
pallet.sl = get_highlight("StatusLine")
pallet.tab = get_highlight("TabLine")
pallet.sel = get_highlight("TabLineSel")
pallet.fill = get_highlight("TabLineFill")
return pallet
end
---Generate user highlight groups based on the curent applied colorscheme
---
---NOTE: This is a global because I dont known where this file will be in your config
---and it is needed for the autocmd below
_G._genreate_user_tabline_highlights = function()
local pal = generate_pallet_from_colorscheme()
-- stylua: ignore
local sl_colors = {
Black = { fg = pal.black, bg = pal.white },
Red = { fg = pal.red, bg = pal.sl.bg },
Green = { fg = pal.green, bg = pal.sl.bg },
Yellow = { fg = pal.yellow, bg = pal.sl.bg },
Blue = { fg = pal.blue, bg = pal.sl.bg },
Magenta = { fg = pal.magenta, bg = pal.sl.bg },
Cyan = { fg = pal.cyan, bg = pal.sl.bg },
White = { fg = pal.white, bg = pal.black },
}
local colors = {}
for name, value in pairs(sl_colors) do
colors["User" .. name] = { fg = value.fg, bg = value.bg, bold = true }
colors["UserRv" .. name] = { fg = value.bg, bg = value.fg, bold = true }
end
local groups = {
-- tabline
UserTLHead = { fg = pal.fill.bg, bg = pal.cyan },
UserTLHeadSep = { fg = pal.cyan, bg = pal.fill.bg },
UserTLActive = { fg = pal.sel.fg, bg = pal.sel.bg, bold = true },
UserTLActiveSep = { fg = pal.sel.bg, bg = pal.fill.bg },
UserTLBoldLine = { fg = pal.tab.fg, bg = pal.tab.bg, bold = true },
UserTLLineSep = { fg = pal.tab.bg, bg = pal.fill.bg },
}
set_highlights(vim.tbl_extend("force", colors, groups))
end
_genreate_user_tabline_highlights()
vim.api.nvim_create_augroup("UserTablineHighlightGroups", { clear = true })
vim.api.nvim_create_autocmd({ "SessionLoadPost", "ColorScheme" }, {
callback = function()
_genreate_user_tabline_highlights()
end,
})
----------------------------------------------------------------------------------------------------
-- Feline
local filename = require("tabby.module.filename")
local cwd = function()
return "" .. vim.fn.fnamemodify(vim.fn.getcwd(), ":t") .. " "
end
local line = {
hl = "TabLineFill",
layout = "active_wins_at_tail",
head = {
{ cwd, hl = "UserTLHead" },
{ "", hl = "UserTLHeadSep" },
},
active_tab = {
label = function(tabid)
return {
"" .. tabid .. " ",
hl = "UserTLActive",
}
end,
left_sep = { "", hl = "UserTLActiveSep" },
right_sep = { "", hl = "UserTLActiveSep" },
},
inactive_tab = {
label = function(tabid)
return {
"" .. tabid .. " ",
hl = "UserTLBoldLine",
}
end,
left_sep = { "", hl = "UserTLLineSep" },
right_sep = { "", hl = "UserTLLineSep" },
},
top_win = {
label = function(winid)
return {
"" .. filename.unique(winid) .. " ",
hl = "TabLine",
}
end,
left_sep = { "", hl = "UserTLLineSep" },
right_sep = { "", hl = "UserTLLineSep" },
},
win = {
label = function(winid)
return {
"" .. filename.unique(winid) .. " ",
hl = "TabLine",
}
end,
left_sep = { "", hl = "UserTLLineSep" },
right_sep = { "", hl = "UserTLLineSep" },
},
tail = {
{ "", hl = "UserTLHeadSep" },
{ "", hl = "UserTLHead" },
},
}
require("tabby").setup({
tabline = line,
})

View file

@ -2,6 +2,6 @@ require("nvim-treesitter.configs").setup({
highlight = { highlight = {
enable = true, enable = true,
additional_vim_regex_highlighting = false, additional_vim_regex_highlighting = false,
disable = { "help", "fortran" }, disable = { "fortran" },
}, },
}) })

View file

@ -10,53 +10,52 @@ require("packer").startup({
use("wbthomason/packer.nvim") use("wbthomason/packer.nvim")
use("lewis6991/impatient.nvim") use("lewis6991/impatient.nvim")
use("stevearc/dressing.nvim") use("stevearc/dressing.nvim")
use { "catppuccin/nvim", as = "catppuccin" }
use({ use({
"EdenEast/nightfox.nvim", "catppuccin/nvim",
"olimorris/onedarkpro.nvim", as = "catppuccin",
"rebelot/kanagawa.nvim", config = function()
require("colours")
end,
}) })
use({ use({
"nvim-lualine/lualine.nvim", "feline-nvim/feline.nvim",
requires = { "kyazdani42/nvim-web-devicons", opt = true },
config = function() config = function()
require("config.lualine") require("config.feline")
end, end,
}) })
use({ use({
"rcarriga/nvim-notify", "rcarriga/nvim-notify",
config = function() config = function()
require("notify").setup({ require("notify").setup({
background_colour = "#282c34", background_colour = "#000000",
}) })
vim.notify = require("notify") vim.notify = require("notify")
end, end,
}) })
use({
"vigoux/notifier.nvim",
config = function()
require("notifier")
end,
})
use("kyazdani42/nvim-web-devicons") use("kyazdani42/nvim-web-devicons")
use("nvim-lua/plenary.nvim") use("nvim-lua/plenary.nvim")
use({ use({
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
"https://github.com/nvim-lua/lsp-status.nvim.git", requires = {
"hrsh7th/nvim-cmp", { "hrsh7th/nvim-cmp" },
"hrsh7th/cmp-nvim-lsp", { "hrsh7th/cmp-nvim-lsp" },
"hrsh7th/cmp-buffer", { "hrsh7th/cmp-buffer" },
"hrsh7th/cmp-path", { "hrsh7th/cmp-path" },
"hrsh7th/cmp-cmdline", { "hrsh7th/cmp-cmdline" },
"f3fora/cmp-spell", { "f3fora/cmp-spell" },
"petertriho/cmp-git", { "petertriho/cmp-git" },
"Dosx001/cmp-commit", { "Dosx001/cmp-commit" },
"kdheepak/cmp-latex-symbols", { "kdheepak/cmp-latex-symbols" },
"L3MON4D3/LuaSnip", { "L3MON4D3/LuaSnip" },
"saadparwaiz1/cmp_luasnip", { "saadparwaiz1/cmp_luasnip" },
"rafamadriz/friendly-snippets", { "rafamadriz/friendly-snippets" },
"windwp/nvim-autopairs", { "windwp/nvim-autopairs" },
"https://github.com/jose-elias-alvarez/null-ls.nvim", { "jose-elias-alvarez/null-ls.nvim" },
},
config = function()
require("config.lsp")
require("config.cmp")
end,
}) })
use({ use({
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
@ -64,21 +63,9 @@ require("packer").startup({
require("config.treesitter") require("config.treesitter")
end, end,
}) })
use({ "tpope/vim-fugitive" })
use({ use({
"ThePrimeagen/refactoring.nvim", "lewis6991/gitsigns.nvim",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" },
},
config = function()
require("refactoring").setup()
end,
})
use({
"tpope/vim-fugitive",
})
use({
"https://github.com/lewis6991/gitsigns.nvim.git",
config = function() config = function()
require("config.gitsigns") require("config.gitsigns")
end, end,
@ -125,18 +112,13 @@ require("packer").startup({
use({ use({
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
config = function() config = function()
require("indent_blankline").setup({ require("config.indent_blankline")
show_current_context = true,
show_current_context_start = false,
})
end, end,
}) })
use({ use({
"numToStr/Navigator.nvim", "numToStr/Navigator.nvim",
config = function() config = function()
require("Navigator").setup({ require("Navigator").setup()
mux = "auto",
})
end, end,
}) })
end, end,
@ -148,6 +130,3 @@ require("packer").startup({
}, },
}, },
}) })
require("colours")
require("config.lsp")
require("config.cmp")

View file

@ -8,34 +8,13 @@ set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'ofirgall/tmux-window-name' set -g @plugin 'ofirgall/tmux-window-name'
set -g @plugin 'noscript/tmux-mighty-scroll' set -g @plugin 'noscript/tmux-mighty-scroll'
set -g @plugin 'jabirali/tmux-tilish' set -g @plugin 'jabirali/tmux-tilish'
set -g @plugin 'catppuccin/tmux'
# Plugin options. # Plugin options.
set -g @tilish-navigator 'on' set -g @tilish-navigator 'on'
set -g @tilish-dmenu 'on' set -g @tilish-dmenu 'on'
set -g @tmux_window_name_use_tilde "True" set -g @tmux_window_name_use_tilde "True"
set -g @catppuccin_flavour 'macchiato'
# Nightfox colors for Tmux
# Style: nightfox
# Upstream: https://github.com/edeneast/nightfox.nvim/raw/main/extra/nightfox/nightfox_tmux.tmux
set -g mode-style "fg=#131a24,bg=#aeafb0"
set -g message-style "fg=#131a24,bg=#aeafb0"
set -g message-command-style "fg=#131a24,bg=#aeafb0"
set -g pane-border-style "fg=#aeafb0"
set -g pane-active-border-style "fg=#719cd6"
set -g status "on"
set -g status-justify "left"
set -g status-style "fg=#aeafb0,bg=#131a24"
set -g status-left-length "100"
set -g status-right-length "100"
set -g status-left-style NONE
set -g status-right-style NONE
set -g status-left "#[fg=#131a24,bg=#719cd6,bold] #S #[fg=#719cd6,bg=#131a24,nobold,nounderscore,noitalics]"
set -g status-right "#[fg=#131a24,bg=#131a24,nobold,nounderscore,noitalics]#[fg=#719cd6,bg=#131a24] #{prefix_highlight} #[fg=#aeafb0,bg=#131a24,nobold,nounderscore,noitalics]#[fg=#131a24,bg=#aeafb0] %Y-%m-%d  %I:%M %p #[fg=#719cd6,bg=#aeafb0,nobold,nounderscore,noitalics]#[fg=#131a24,bg=#719cd6,bold] #h "
setw -g window-status-activity-style "underscore,fg=#71839b,bg=#131a24"
setw -g window-status-separator ""
setw -g window-status-style "NONE,fg=#71839b,bg=#131a24"
setw -g window-status-format "#[fg=#131a24,bg=#131a24,nobold,nounderscore,noitalics]#[default] #I  #W #F #[fg=#131a24,bg=#131a24,nobold,nounderscore,noitalics]"
setw -g window-status-current-format "#[fg=#131a24,bg=#aeafb0,nobold,nounderscore,noitalics]#[fg=#131a24,bg=#aeafb0,bold] #I  #W #F #[fg=#aeafb0,bg=#131a24,nobold,nounderscore,noitalics]"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' run '~/.tmux/plugins/tpm/tpm'

View file

@ -6,7 +6,7 @@ return {
window_background_opacity = 0.95, window_background_opacity = 0.95,
window_decorations = "RESIZE", window_decorations = "RESIZE",
-- use_fancy_tab_bar = false, -- use_fancy_tab_bar = false,
color_scheme = "Catppuccin Mocha", color_scheme = "Catppuccin Macchiato",
-- color_scheme = "nightfox", -- color_scheme = "nightfox",
disable_default_key_bindings = true, disable_default_key_bindings = true,
keys = require("keys"), keys = require("keys"),