Compare commits
10 commits
276e72b062
...
31c8088db2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31c8088db2 | ||
|
|
e7ab2a9252 | ||
|
|
3610aba47a | ||
|
|
828b4219e9 | ||
|
|
3db31580b4 | ||
|
|
cc984d5c91 | ||
|
|
8f4ee4b0f4 | ||
|
|
6baee4b298 | ||
|
|
73ab133e5c | ||
|
|
062de18441 |
7 changed files with 139 additions and 173 deletions
|
|
@ -44,6 +44,7 @@
|
|||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"tardis.nvim": { "branch": "main", "commit": "f050686a6c299dba95d07990550174c20aba56dd" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"telescope_hoogle": { "branch": "master", "commit": "14be34fd5c464e3da0992ad094f157b0b8b098f9" },
|
||||
"treesj": { "branch": "main", "commit": "925b506eadd9b465e6e577bb684d86e9863a2e21" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
local custom_highlights = function(C)
|
||||
return {
|
||||
HopNextKey = { bg = C.text, fg = C.base, style = { "bold", "underline" } },
|
||||
HopNextKey1 = { bg = C.text, fg = C.base, style = { "bold" } },
|
||||
HopNextKey2 = { bg = C.text, fg = C.base, style = { "bold", "italic" } },
|
||||
DiagnosticUnderlineError = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineWarn = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineInfo = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineHint = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineOk = { style = { "undercurl" } },
|
||||
}
|
||||
end
|
||||
|
||||
return custom_highlights
|
||||
|
|
@ -1,133 +1,87 @@
|
|||
local custom_highlights = function(C)
|
||||
local U = require("catppuccin.utils.colors")
|
||||
local ret = {
|
||||
HopNextKey = { bg = C.text, fg = C.base, style = { "bold", "underline" } },
|
||||
HopNextKey1 = { bg = C.text, fg = C.base, style = { "bold" } },
|
||||
HopNextKey2 = { bg = C.text, fg = C.base, style = { "bold", "italic" } },
|
||||
DiagnosticUnderlineError = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineWarn = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineInfo = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineHint = { style = { "undercurl" } },
|
||||
DiagnosticUnderlineOk = { style = { "undercurl" } },
|
||||
["@function.call"] = { fg = U.darken(C.blue, 0.5, C.text) },
|
||||
-- fuuctions sigature & calls are blue
|
||||
Function = { fg = C.blue, style = { "bold" } },
|
||||
["@function.call"] = { fg = U.darken(C.blue, 0.5, C.text) },
|
||||
["@lsp.type.function"] = { link = "@function.call" },
|
||||
["@lsp.type.method"] = { link = "@function.call" },
|
||||
["@lsp.type.macro"] = { link = "Macro" },
|
||||
["@Keyword.directive"] = { link = "PreProc" },
|
||||
-- ["@lsp.mod.definition"] = { bg = U.darken(C.green, .3, C.base) },
|
||||
-- Keyword = { fg = C.black, style = { "italic" } },
|
||||
Type = { fg = C.text },
|
||||
--
|
||||
-- syntax
|
||||
Constant = { fg = C.text },
|
||||
String = { fg = C.text },
|
||||
Character = { fg = C.text },
|
||||
Number = { fg = C.text },
|
||||
Float = { fg = C.text },
|
||||
Boolean = { fg = C.text },
|
||||
Identifier = { fg = C.text },
|
||||
-- Function = { fg = C.text },
|
||||
Statement = { fg = C.text },
|
||||
Conditional = { fg = C.text },
|
||||
Repeat = { fg = C.text },
|
||||
Label = { fg = C.text },
|
||||
Operator = { fg = C.text },
|
||||
Keyword = { fg = C.text },
|
||||
Exception = { fg = C.text },
|
||||
PreProc = { fg = C.pink },
|
||||
Include = { fg = C.pink },
|
||||
Define = { fg = C.pink },
|
||||
Macro = { fg = C.pink },
|
||||
PreCondit = { fg = C.pink },
|
||||
StorageClass = { fg = C.text },
|
||||
Structure = { fg = C.text },
|
||||
Special = { fg = C.text },
|
||||
Typedef = { fg = C.text },
|
||||
SpecialChar = { fg = C.text },
|
||||
Tag = { fg = C.text },
|
||||
Delimiter = { fg = C.text },
|
||||
Debug = { fg = C.text },
|
||||
|
||||
-- Types are green
|
||||
-- Type = { fg = U.darken(C.green, 0.8, C.black) },
|
||||
-- ["@type.python"] = { link = "Type", },
|
||||
|
||||
-- Comments should be important
|
||||
Comment = { fg = C.mauve, style = {}};
|
||||
|
||||
-- differentiate between consts and mutables
|
||||
variable = {},
|
||||
["@lsp.mod.readonly"] = { fg = C.text },
|
||||
["@variable"] = { fg = U.darken(C.red, .5, C.text) },
|
||||
["@keyword.modifier"] = { fg = C.yellow, style = {"italic"}}
|
||||
|
||||
-- ['@parameter'] = { style = { "underline"} },
|
||||
-- highly visible consts kwds
|
||||
["@keyword.modifier"] = { fg = C.yellow, style = {"italic"}},
|
||||
|
||||
-- Underlined = { style = { "underline" } }, -- (preferred) text that stands out, HTML links
|
||||
-- Bold = { style = { "bold" } },
|
||||
-- Italic = { style = { "italic" } },
|
||||
-- ("Ignore", below, may be invisible...)
|
||||
-- Ignore = { }, -- (preferred) left blank, hidden |hl-Ignore|
|
||||
-- Plugin specific
|
||||
HopNextKey = { bg = C.text, fg = C.base, style = { "bold" } },
|
||||
HopNextKey1 = { link = "HopNextKey" },
|
||||
HopNextKey2 = { link = "HopNextKey" },
|
||||
|
||||
-- Error = { fg = C.red }, -- (preferred) any erroneous construct
|
||||
-- Todo = { bg = C.flamingo, fg = C.base, style = { "bold" } }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
|
||||
-- qfLineNr = { fg = C.yellow },
|
||||
-- qfFileName = { fg = C.blue },
|
||||
-- htmlH1 = { fg = C.pink, style = { "bold" } },
|
||||
-- htmlH2 = { fg = C.blue, style = { "bold" } },
|
||||
-- -- mkdHeading = { fg = C.peach, style = { "bold" } },
|
||||
-- -- mkdCode = { bg = C.terminal_black, fg = C.text },
|
||||
-- mkdCodeDelimiter = { bg = C.base, fg = C.text },
|
||||
-- mkdCodeStart = { fg = C.flamingo, style = { "bold" } },
|
||||
-- mkdCodeEnd = { fg = C.flamingo, style = { "bold" } },
|
||||
-- -- mkdLink = { fg = C.blue, style = { "underline" } },
|
||||
--
|
||||
-- -- debugging
|
||||
-- debugPC = { bg = O.transparent_background and C.none or C.crust }, -- used for highlighting the current line in terminal-debug
|
||||
-- debugBreakpoint = { bg = C.base, fg = C.overlay0 }, -- used for breakpoint colors in terminal-debug
|
||||
-- -- illuminate
|
||||
-- illuminatedWord = { bg = C.surface1 },
|
||||
-- illuminatedCurWord = { bg = C.surface1 },
|
||||
-- -- diff
|
||||
-- diffAdded = { fg = C.green },
|
||||
-- diffRemoved = { fg = C.red },
|
||||
-- diffChanged = { fg = C.blue },
|
||||
-- diffOldFile = { fg = C.yellow },
|
||||
-- diffNewFile = { fg = C.peach },
|
||||
-- diffFile = { fg = C.blue },
|
||||
-- diffLine = { fg = C.overlay0 },
|
||||
-- diffIndexLine = { fg = C.teal },
|
||||
-- DiffAdd = { bg = U.darken(C.green, 0.18, C.base) }, -- diff mode: Added line |diff.txt|
|
||||
-- DiffChange = { bg = U.darken(C.blue, 0.07, C.base) }, -- diff mode: Changed line |diff.txt|
|
||||
-- DiffDelete = { bg = U.darken(C.red, 0.18, C.base) }, -- diff mode: Deleted line |diff.txt|
|
||||
-- DiffText = { bg = U.darken(C.blue, 0.30, C.base) }, -- diff mode: Changed text within a changed line |diff.txt|
|
||||
-- -- NeoVim
|
||||
-- healthError = { fg = C.red },
|
||||
-- healthSuccess = { fg = C.teal },
|
||||
-- healthWarning = { fg = C.yellow },
|
||||
-- -- misc
|
||||
--
|
||||
-- -- glyphs
|
||||
-- GlyphPalette1 = { fg = C.red },
|
||||
-- GlyphPalette2 = { fg = C.teal },
|
||||
-- GlyphPalette3 = { fg = C.yellow },
|
||||
-- GlyphPalette4 = { fg = C.blue },
|
||||
-- GlyphPalette6 = { fg = C.teal },
|
||||
-- GlyphPalette7 = { fg = C.text },
|
||||
-- GlyphPalette9 = { fg = C.red },
|
||||
--
|
||||
-- -- rainbow
|
||||
-- rainbow1 = { fg = C.red },
|
||||
-- rainbow2 = { fg = C.peach },
|
||||
-- rainbow3 = { fg = C.yellow },
|
||||
-- rainbow4 = { fg = C.green },
|
||||
-- rainbow5 = { fg = C.sapphire },
|
||||
-- rainbow6 = { fg = C.lavender },
|
||||
--
|
||||
-- -- csv
|
||||
-- csvCol0 = { fg = C.red },
|
||||
-- csvCol1 = { fg = C.peach },
|
||||
-- csvCol2 = { fg = C.yellow },
|
||||
-- csvCol3 = { fg = C.green },
|
||||
-- csvCol4 = { fg = C.sky },
|
||||
-- csvCol5 = { fg = C.blue },
|
||||
-- csvCol6 = { fg = C.lavender },
|
||||
-- csvCol7 = { fg = C.mauve },
|
||||
-- csvCol8 = { fg = C.pink },
|
||||
}
|
||||
|
||||
|
||||
-- base color
|
||||
for _, field in ipairs({
|
||||
"Constant",
|
||||
"String",
|
||||
"Character",
|
||||
"Number",
|
||||
"Float",
|
||||
"Boolean",
|
||||
"Identifier",
|
||||
"Statement",
|
||||
"Conditional",
|
||||
"Repeat",
|
||||
"Label",
|
||||
"Operator",
|
||||
"Keyword",
|
||||
"Exception",
|
||||
"StorageClass",
|
||||
"Structure",
|
||||
"Special",
|
||||
"Typedef",
|
||||
"SpecialChar",
|
||||
"Tag",
|
||||
"Delimiter",
|
||||
"Debug",
|
||||
}) do
|
||||
ret[field] = { fg = C.text };
|
||||
end
|
||||
|
||||
-- pink
|
||||
for _, field in ipairs({
|
||||
"PreProc",
|
||||
"Include",
|
||||
"Define",
|
||||
"Macro",
|
||||
"@lsp.type.macro",
|
||||
"PreCondit",
|
||||
"@Keyword.directive",
|
||||
}) do
|
||||
ret[field] = { fg = C.pink };
|
||||
end
|
||||
|
||||
for _, field in ipairs({
|
||||
"DiagnosticUnderlineError",
|
||||
"DiagnosticUnderlineWarn",
|
||||
"DiagnosticUnderlineInfo",
|
||||
"DiagnosticUnderlineHint",
|
||||
"DiagnosticUnderlineOk",
|
||||
}) do
|
||||
ret[field] = { style = { "undercurl" } };
|
||||
end
|
||||
|
||||
-- for semantic coloring from ccls
|
||||
local var_colors = {
|
||||
U.darken(C.green, .4, C.text);
|
||||
U.darken(C.lavender, .5, C.text);
|
||||
|
|
|
|||
|
|
@ -44,23 +44,27 @@ local servers = {
|
|||
qmlls = {},
|
||||
tinymist = {},
|
||||
hls = {},
|
||||
c3_lsp = {
|
||||
cmd = { "c3-lsp" },
|
||||
},
|
||||
}
|
||||
|
||||
local enabled = {}
|
||||
|
||||
-- for server, config in pairs(servers) do
|
||||
-- local lsp = require("lspconfig")[server]
|
||||
--
|
||||
-- local config_merged = vim.tbl_deep_extend("keep", config, default, lsp.document_config.default_config)
|
||||
-- if config_merged.cmd ~= nil then
|
||||
-- if vim.fn.executable(config_merged.cmd[1]) == 1 then
|
||||
-- enabled[server] = config_merged
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
|
||||
for server, config in pairs(servers) do
|
||||
local lsp = require("lspconfig")[server]
|
||||
|
||||
local config_merged = vim.tbl_deep_extend("keep", config, default, lsp.document_config.default_config)
|
||||
if config_merged.cmd ~= nil then
|
||||
if vim.fn.executable(config_merged.cmd[1]) == 1 then
|
||||
enabled[server] = config_merged
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for server, config in pairs(enabled) do
|
||||
vim.lsp.enable(server, config)
|
||||
vim.lsp.config(server, config)
|
||||
vim.lsp.enable(server)
|
||||
end
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ s('n', '<leader>N', "<cmd> Neogit <cr>", { desc = "Open Neogit" })
|
|||
-- s('x', 'p', 'p:let @+=@0<CR>:let @"=@0<CR>')
|
||||
s('x', 'p', 'P')
|
||||
s('n', 'gh', ":Ouroboros<cr>", { desc = "Go to header/implementation" })
|
||||
s('t', '<A-Esc>', '<C-\\><C-n>', { desc = "Escape terminal mode"})
|
||||
|
||||
-- Luasnip
|
||||
local ls = require("luasnip")
|
||||
|
|
@ -108,7 +109,6 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
|||
s('n', '<leader>q', vim.diagnostic.setloclist, { buffer = ev.buf, desc = "Set location list" })
|
||||
s('n', 'gD', vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Goto declaration" })
|
||||
s('n', 'gd', telescope.lsp_definitions, { buffer = ev.buf, desc = "Goto definition" })
|
||||
s( {'n', 'v'}, 'K', vim.lsp.buf.hover, { buffer = ev.buf, desc = "lsp Hover" })
|
||||
s( {'n', 'v'}, '<c-k>', dap_or(vim.lsp.buf.signature_help), { buffer = ev.buf, desc = "dap eval" })
|
||||
s(
|
||||
{'n', 'v'}, '<RightMouse>',
|
||||
|
|
@ -139,10 +139,11 @@ function continue()
|
|||
end
|
||||
end
|
||||
|
||||
local pb = require('persistent-breakpoints.api')
|
||||
s('n', '<leader>b', pb.toggle_breakpoint, { desc = "Toggle breakpoint" })
|
||||
s('n', '<leader>l', pb.set_log_point, { desc = "Set logpoint" })
|
||||
s('n', '<leader>B', pb.set_conditional_breakpoint , { desc = "Add conditional breakpoint" })
|
||||
s('n', '<leader>b', dap.toggle_breakpoint, { desc = "Toggle breakpoint" })
|
||||
s('n', '<leader>B', function()
|
||||
local condition = vim.fn.input("Condition: ", "", "customlist,Complete")
|
||||
dap.set_breakpoint(condition)
|
||||
end, { desc = "Add conditional breakpoint" })
|
||||
s('n', '<leader>w', dapui.elements.watches.add, { desc = "Add watch" })
|
||||
s('v', '<leader>w', dapui.elements.watches.add, { desc = "Add watch" })
|
||||
s('n', '<f2>', dapui.toggle, { desc = "Toggle debygger UI" })
|
||||
|
|
|
|||
|
|
@ -25,24 +25,10 @@ local plugins = {
|
|||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
background = { -- :h background
|
||||
background = {
|
||||
light = "latte",
|
||||
dark = "mocha",
|
||||
},
|
||||
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
|
||||
comments = {}, -- Change the style of comments
|
||||
conditionals = {},
|
||||
loops = {},
|
||||
functions = {},
|
||||
keywords = {},
|
||||
strings = {},
|
||||
variables = {},
|
||||
numbers = {},
|
||||
booleans = {},
|
||||
properties = {},
|
||||
types = { "italic" },
|
||||
operators = {},
|
||||
},
|
||||
color_overrides = {
|
||||
mocha = {
|
||||
base = "#000000",
|
||||
|
|
@ -267,7 +253,7 @@ local plugins = {
|
|||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require('gitsigns').setup({
|
||||
word_diff = true,
|
||||
numhl = true,
|
||||
on_attach = function(bufnr)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
|
|
@ -324,7 +310,12 @@ local plugins = {
|
|||
)
|
||||
map('n', '<leader>hd', gs.diffthis, { desc = "Diff this" })
|
||||
map('n', '<leader>hD', function() gs.diffthis('~') end, { desc = "Diff this (ignore whitespace)" })
|
||||
map('n', '<leader>td', gs.toggle_deleted, { desc = "Toggle deleted" })
|
||||
map(
|
||||
"n",
|
||||
"<leader>td",
|
||||
function () gs.toggle_linehl() gs.toggle_word_diff() gs.toggle_deleted() end,
|
||||
{ desc = "toggle diff highlight" }
|
||||
)
|
||||
|
||||
-- Text object
|
||||
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = "Select hunk" })
|
||||
|
|
@ -546,14 +537,6 @@ local plugins = {
|
|||
}
|
||||
end
|
||||
},
|
||||
{
|
||||
'Weissle/persistent-breakpoints.nvim',
|
||||
config = function()
|
||||
require('persistent-breakpoints').setup {
|
||||
load_breakpoints_event = { "BufReadPost" }
|
||||
}
|
||||
end
|
||||
},
|
||||
{
|
||||
'jakemason/ouroboros',
|
||||
dependencies = { "nvim-lua/plenary.nvim" }
|
||||
|
|
@ -569,6 +552,43 @@ local plugins = {
|
|||
vim.keymap.set({ "n", "v" }, "<leader>d", ":Linediff <cr>", { desc = "Linediff" })
|
||||
end
|
||||
},
|
||||
{
|
||||
"luc-tielen/telescope_hoogle",
|
||||
config = function ()
|
||||
local telescope = require('telescope')
|
||||
-- telescope.setup {
|
||||
-- -- opts...
|
||||
-- }
|
||||
telescope.load_extension('hoogle')
|
||||
end,
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim"
|
||||
}
|
||||
},
|
||||
{
|
||||
'fredeeb/tardis.nvim',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
config = function ()
|
||||
require('tardis-nvim').setup {
|
||||
keymap = {
|
||||
["next"] = '<C-j>', -- next entry in log (older)
|
||||
["prev"] = '<C-k>', -- previous entry in log (newer)
|
||||
["quit"] = 'q', -- quit all
|
||||
["revision_message"] = '<C-m>', -- show revision message for current revision
|
||||
["commit"] = '<C-g>', -- replace contents of origin buffer with contents of tardis buffer
|
||||
},
|
||||
initial_revisions = 10, -- initial revisions to create buffers for
|
||||
max_revisions = 256, -- max number of revisions to load
|
||||
}
|
||||
end
|
||||
},
|
||||
{
|
||||
'BartSte/nvim-project-marks',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('projectmarks').setup({})
|
||||
end
|
||||
},
|
||||
}
|
||||
|
||||
return plugins
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ snippet deps
|
|||
|
||||
snippet flake
|
||||
{
|
||||
description = "Flake utils $1";
|
||||
description = "Flake for $1";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue