Compare commits
6 Commits
84bf4e6ee2
...
c1c36ee21c
Author | SHA1 | Date | |
---|---|---|---|
c1c36ee21c | |||
208b18723b | |||
cc9a8d71f1 | |||
e02802369d | |||
fb441bc3df | |||
01d5bc029f |
15
.gitmodules
vendored
15
.gitmodules
vendored
@ -99,3 +99,18 @@
|
|||||||
[submodule "src/.local/share/nvim/site/pack/3pp/start/colorbuddy.nvim"]
|
[submodule "src/.local/share/nvim/site/pack/3pp/start/colorbuddy.nvim"]
|
||||||
path = src/.local/share/nvim/site/pack/3pp/start/colorbuddy.nvim
|
path = src/.local/share/nvim/site/pack/3pp/start/colorbuddy.nvim
|
||||||
url = https://github.com/tjdevries/colorbuddy.nvim.git
|
url = https://github.com/tjdevries/colorbuddy.nvim.git
|
||||||
|
|
||||||
|
# debug adapter protocol
|
||||||
|
# debugging.lua
|
||||||
|
[submodule "nvim-dap"]
|
||||||
|
path = nvim-dap
|
||||||
|
url = https://github.com/mfussenegger/nvim-dap.git
|
||||||
|
[submodule "src/.local/share/nvim/site/pack/3pp/start/nvim-dap"]
|
||||||
|
path = src/.local/share/nvim/site/pack/3pp/start/nvim-dap
|
||||||
|
url = https://github.com/mfussenegger/nvim-dap.git
|
||||||
|
[submodule "src/.local/share/nvim/site/pack/3pp/start/nvim-dap-ui"]
|
||||||
|
path = src/.local/share/nvim/site/pack/3pp/start/nvim-dap-ui
|
||||||
|
url = https://github.com/rcarriga/nvim-dap-ui.git
|
||||||
|
[submodule "src/.local/share/nvim/site/pack/3pp/start/nvim-nio"]
|
||||||
|
path = src/.local/share/nvim/site/pack/3pp/start/nvim-nio
|
||||||
|
url = https://github.com/nvim-neotest/nvim-nio
|
||||||
|
@ -7,7 +7,7 @@ set foldexpr=nvim_treesitter#foldexpr()
|
|||||||
" unfold by default
|
" unfold by default
|
||||||
set foldlevel=99
|
set foldlevel=99
|
||||||
|
|
||||||
source $XDG_CONFIG_HOME/nvim/vimspector.vim
|
" source $XDG_CONFIG_HOME/nvim/vimspector.vim
|
||||||
|
|
||||||
" auto-pairs
|
" auto-pairs
|
||||||
let g:AutoPairsFlyMode = 0
|
let g:AutoPairsFlyMode = 0
|
||||||
|
@ -1,9 +1,32 @@
|
|||||||
-- stuff for coding
|
-- stuff for coding
|
||||||
|
|
||||||
confutil = require("confutil")
|
local confutil = require("confutil")
|
||||||
keymap = confutil.keymap
|
local keymap = confutil.keymap
|
||||||
|
|
||||||
|
|
||||||
|
------
|
||||||
|
-- python format-on-save
|
||||||
|
-- https://stackoverflow.com/a/77467553
|
||||||
|
------
|
||||||
|
|
||||||
|
-- to turn this off for a session (permanently), run
|
||||||
|
-- :autocmd! AutoFormat
|
||||||
|
-- https://superuser.com/a/1415274
|
||||||
|
vim.api.nvim_create_augroup("AutoFormat", {})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd(
|
||||||
|
"BufWritePost",
|
||||||
|
{
|
||||||
|
pattern = "*.py",
|
||||||
|
group = "AutoFormat",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd("silent !black --quiet %")
|
||||||
|
vim.cmd("edit")
|
||||||
|
vim.cmd("norm zz")
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
------
|
------
|
||||||
-- syntax highlighting
|
-- syntax highlighting
|
||||||
|
@ -10,7 +10,7 @@ function M.keymap(key, cmd, params)
|
|||||||
|
|
||||||
default_params = {
|
default_params = {
|
||||||
silent=true,
|
silent=true,
|
||||||
mode="n",
|
mode={'n'},
|
||||||
noremap=true,
|
noremap=true,
|
||||||
}
|
}
|
||||||
setmetatable(params, {
|
setmetatable(params, {
|
||||||
@ -19,7 +19,7 @@ function M.keymap(key, cmd, params)
|
|||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_set_keymap(params.mode, key, cmd, { silent=params.silent, noremap=params.noremap })
|
vim.keymap.set(params.mode, key, cmd, { silent=params.silent, noremap=params.noremap })
|
||||||
end
|
end
|
||||||
|
|
||||||
-- see ~/.config/dot_profile.example for info
|
-- see ~/.config/dot_profile.example for info
|
||||||
|
142
src/.config/nvim/lua/debugging.lua
Normal file
142
src/.config/nvim/lua/debugging.lua
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
-- dap and debugging related configurations
|
||||||
|
|
||||||
|
local confutil = require("confutil")
|
||||||
|
local keymap = confutil.keymap
|
||||||
|
|
||||||
|
local dap = require("dap")
|
||||||
|
local dapui = require("dapui")
|
||||||
|
|
||||||
|
--------------------------------
|
||||||
|
--------------------------------
|
||||||
|
-- dap-ui configuration
|
||||||
|
--------------------------------
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
----------------
|
||||||
|
-- key bindings
|
||||||
|
----------------
|
||||||
|
|
||||||
|
keymap("<leader>dd", dapui.setup)
|
||||||
|
keymap("<leader>rs", dap.continue)
|
||||||
|
keymap("<leader>rt", dap.restart)
|
||||||
|
keymap("<leader>rr", dap.terminate)
|
||||||
|
keymap("<c-p>", dap.step_into)
|
||||||
|
keymap("<c-n>", dap.step_over)
|
||||||
|
keymap("<F12>", dap.step_out)
|
||||||
|
keymap("<leader>dsf", dap.toggle_breakpoint)
|
||||||
|
keymap("<leader>dsc", dap.clear_breakpoints)
|
||||||
|
keymap("<leader>dsF", function()
|
||||||
|
dap.set_breakpoint(vim.fn.input("cond: "))
|
||||||
|
end)
|
||||||
|
keymap("K", dapui.eval, {mode = {'n', 'v'}})
|
||||||
|
|
||||||
|
----------------
|
||||||
|
-- ui setup
|
||||||
|
----------------
|
||||||
|
|
||||||
|
-- https://github.com/rcarriga/nvim-dap-ui/blob/master/doc/nvim-dap-ui.txt
|
||||||
|
dapui.setup({
|
||||||
|
controls = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
collapsed = ">",
|
||||||
|
current_frame = ">",
|
||||||
|
expanded = "v",
|
||||||
|
},
|
||||||
|
layouts = {
|
||||||
|
{
|
||||||
|
elements = {
|
||||||
|
{
|
||||||
|
id = "stacks",
|
||||||
|
size = 0.20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "scopes",
|
||||||
|
size = 0.40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "watches",
|
||||||
|
size = 0.40
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position = "left",
|
||||||
|
size = 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elements = {
|
||||||
|
{
|
||||||
|
id = "console",
|
||||||
|
size = 0.8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "repl",
|
||||||
|
size = 0.2
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position = "right",
|
||||||
|
size = 50
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
----------------
|
||||||
|
-- hooks
|
||||||
|
----------------
|
||||||
|
|
||||||
|
dap.listeners.after.launch.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
dap.listeners.after.attach.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
dap.listeners.after.event_terminated.dapui_config = function()
|
||||||
|
dapui.close()
|
||||||
|
end
|
||||||
|
dap.listeners.after.event_exited.dapui_config = function()
|
||||||
|
dapui.close()
|
||||||
|
end
|
||||||
|
|
||||||
|
----------------
|
||||||
|
-- signs
|
||||||
|
----------------
|
||||||
|
|
||||||
|
vim.cmd [[ sign define DapBreakpoint text=● ]]
|
||||||
|
vim.cmd [[ sign define DapBreakpointCondition text=◒ ]]
|
||||||
|
|
||||||
|
--------------------------------
|
||||||
|
--------------------------------
|
||||||
|
-- debug adapter configs
|
||||||
|
--------------------------------
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
-- https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation#python
|
||||||
|
dap.adapters.python = function(cb, config)
|
||||||
|
if config.request == 'attach' then
|
||||||
|
assert(false, "attach not implemented")
|
||||||
|
else
|
||||||
|
cb({
|
||||||
|
type = 'executable',
|
||||||
|
command = "python",
|
||||||
|
args = { "-m", "debugpy.adapter" },
|
||||||
|
options = {
|
||||||
|
source_filetype = "python",
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.configurations.python = {
|
||||||
|
{
|
||||||
|
-- dap parts
|
||||||
|
type = "python";
|
||||||
|
request = "launch";
|
||||||
|
name = "launch file";
|
||||||
|
|
||||||
|
-- debugger parts
|
||||||
|
program = "${file}";
|
||||||
|
-- this could be smarter (e.g., try to find a virtual env)
|
||||||
|
pythonPath = function() return "/usr/bin/python" end;
|
||||||
|
console = "integratedTerminal";
|
||||||
|
}
|
||||||
|
}
|
@ -41,57 +41,7 @@ keymap("<leader>eh", "<cmd>Telescope help_tags<cr>")
|
|||||||
keymap("<leader>es", "<cmd>Telescope lsp_document_symbols<cr>")
|
keymap("<leader>es", "<cmd>Telescope lsp_document_symbols<cr>")
|
||||||
keymap("<leader>eb", "<cmd>Telescope keymaps<cr>")
|
keymap("<leader>eb", "<cmd>Telescope keymaps<cr>")
|
||||||
|
|
||||||
------
|
require("theme")
|
||||||
-- color theme
|
|
||||||
-- plug: nvim-noirbuddy, colorbuddy.nvim
|
|
||||||
------
|
|
||||||
require("noirbuddy").setup({
|
|
||||||
colors = {
|
|
||||||
primary="#99AABB"
|
|
||||||
},
|
|
||||||
styles = {
|
|
||||||
italic = true,
|
|
||||||
bold = false,
|
|
||||||
underline = true,
|
|
||||||
undercurl = true,
|
|
||||||
},
|
|
||||||
preset = "slate",
|
|
||||||
})
|
|
||||||
-- force transparent bg
|
|
||||||
local Color, colors, Group, groups, styles = require("colorbuddy").setup {}
|
|
||||||
Group.new("Normal", colors.noir_4, colors.none, no)
|
|
||||||
Group.link("StatusLine", groups.normal)
|
|
||||||
Group.link("Gutter", groups.normal)
|
|
||||||
Group.new("LineNr", colors.noir_8, colors.none, no)
|
|
||||||
Group.link("SignColumn", groups.LineNr)
|
|
||||||
|
|
||||||
-- other overrides
|
|
||||||
Group.new("identifier", colors.noir_3, nil, no)
|
|
||||||
|
|
||||||
Group.new("function", colors.noir_2, nil)
|
|
||||||
Group.link("@function", groups["function"])
|
|
||||||
Group.link("@lsp.type.function", groups["function"])
|
|
||||||
|
|
||||||
Group.new("comment", colors.noir_6, nil, styles.italic)
|
|
||||||
Group.link("@comment", groups.comment)
|
|
||||||
|
|
||||||
Group.new("keyword.return", colors.noir_4, nil, styles.bold)
|
|
||||||
Group.link("@keyword.return", groups["keyword.return"])
|
|
||||||
Group.link("type.qualifier", groups["keyword.return"])
|
|
||||||
Group.link("@type.qualifier", groups["keyword.return"])
|
|
||||||
|
|
||||||
Group.new("NormalFloat", colors.noir_1, colors.noir_9, no)
|
|
||||||
|
|
||||||
-- swap undercurls and underlines
|
|
||||||
for _, v in ipairs({"Error", "Info", "Hint", "Warn"}) do
|
|
||||||
col_name = "diagnostic_" .. string.lower(v)
|
|
||||||
if v == "Warn" then
|
|
||||||
col_name = "diagnostic_warning"
|
|
||||||
end
|
|
||||||
|
|
||||||
Group.new("Diagnostic" .. v, colors[col_name], nil, styles.underline)
|
|
||||||
Group.new("DiagnosticUnderline" .. v, colors[col_name], nil, styles.undercurl)
|
|
||||||
end
|
|
||||||
|
|
||||||
--------------------------------
|
--------------------------------
|
||||||
--------------------------------
|
--------------------------------
|
||||||
@ -101,4 +51,5 @@ end
|
|||||||
|
|
||||||
if dotprofile >= profile_table.DEFAULT then
|
if dotprofile >= profile_table.DEFAULT then
|
||||||
require("coding")
|
require("coding")
|
||||||
|
require("debugging")
|
||||||
end
|
end
|
||||||
|
72
src/.config/nvim/lua/theme.lua
Normal file
72
src/.config/nvim/lua/theme.lua
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
------
|
||||||
|
-- color theme
|
||||||
|
-- plug: nvim-noirbuddy, colorbuddy.nvim
|
||||||
|
------
|
||||||
|
|
||||||
|
require("noirbuddy").setup({
|
||||||
|
colors = {
|
||||||
|
primary="#99AABB"
|
||||||
|
},
|
||||||
|
styles = {
|
||||||
|
italic = true,
|
||||||
|
bold = false,
|
||||||
|
underline = true,
|
||||||
|
undercurl = true,
|
||||||
|
},
|
||||||
|
preset = "slate",
|
||||||
|
})
|
||||||
|
-- force transparent bg
|
||||||
|
local Color, colors, Group, groups, styles = require("colorbuddy").setup {}
|
||||||
|
Group.new("Normal", colors.noir_4, colors.none, no)
|
||||||
|
Group.new("StatusLine", colors.noir_4, colors.none, styles.bold)
|
||||||
|
-- not selected statusline
|
||||||
|
Group.new("StatusLineNC", colors.noir_7, colors.none)
|
||||||
|
Group.link("Gutter", groups.normal)
|
||||||
|
Group.new("LineNr", colors.noir_8, colors.none, no)
|
||||||
|
Group.link("SignColumn", groups.LineNr)
|
||||||
|
Group.new("VertSplit", colors.noir_9, colors.none, no)
|
||||||
|
|
||||||
|
-- other overrides
|
||||||
|
Group.new("identifier", colors.noir_3, nil, no)
|
||||||
|
|
||||||
|
Group.new("function", colors.noir_2, nil)
|
||||||
|
Group.link("@function", groups["function"])
|
||||||
|
Group.link("@lsp.type.function", groups["function"])
|
||||||
|
|
||||||
|
Group.new("comment", colors.noir_6, nil, styles.italic)
|
||||||
|
Group.link("@comment", groups.comment)
|
||||||
|
|
||||||
|
Group.new("keyword.return", colors.noir_4, nil, styles.bold)
|
||||||
|
Group.link("@keyword.return", groups["keyword.return"])
|
||||||
|
Group.link("type.qualifier", groups["keyword.return"])
|
||||||
|
Group.link("@type.qualifier", groups["keyword.return"])
|
||||||
|
|
||||||
|
Group.new("NormalFloat", colors.noir_1, colors.noir_9, no)
|
||||||
|
|
||||||
|
-- swap undercurls and underlines
|
||||||
|
for _, v in ipairs({"Error", "Info", "Hint", "Warn"}) do
|
||||||
|
col_name = "diagnostic_" .. string.lower(v)
|
||||||
|
if v == "Warn" then
|
||||||
|
col_name = "diagnostic_warning"
|
||||||
|
end
|
||||||
|
|
||||||
|
Group.new("Diagnostic" .. v, colors[col_name], nil, styles.underline)
|
||||||
|
Group.new("DiagnosticUnderline" .. v, colors[col_name], nil, styles.undercurl)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- DAP-ui colors
|
||||||
|
|
||||||
|
Group.new("debugPC", primary, colors.noir_8)
|
||||||
|
Group.new("DapUIModifiedValue", primary, nil, styles.bold)
|
||||||
|
Group.new("DapUIWatchesEmpty", colors.noir_8, nil, nil)
|
||||||
|
Group.new("DapUIWatchesError", colors.diff_delete, nil, nil)
|
||||||
|
Group.new("DapUISource", colors.primary, nil, nil)
|
||||||
|
Group.new("DapUILineNumber", colors.noir_5, nil, nil)
|
||||||
|
Group.new("DapUIScope", colors.noir_5, nil, nil)
|
||||||
|
Group.new("DapUIDecoration", colors.secondary, nil, nil)
|
||||||
|
Group.new("DapUIStoppedThread", colors.primary, nil, nil)
|
||||||
|
Group.new("DapUIBreakpointsCurrentLine", colors.primary, nil, nil)
|
||||||
|
Group.link("DapUIType", groups["@type.builtin"])
|
||||||
|
Group.link("DapUIVariable", groups["@variable"])
|
||||||
|
Group.link("DapUIValue", groups["@number"])
|
||||||
|
Group.link("DapUIFloatBorder", groups.FloatBorder)
|
3
src/.config/nvim/ultisnips/markdown.snippets
Normal file
3
src/.config/nvim/ultisnips/markdown.snippets
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
snippet thumb "Thumbnail media link" w
|
||||||
|
[ ![]($1-thumb.$2) ]($1.$2)
|
||||||
|
endsnippet
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 405df1dcc2e395ab5173a9c3d00e03942c023074
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit edfa93f60b189e5952c016eee262d0685d838450
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 33c62b3eadd8154169e42144de16ba4db6784bec
|
Loading…
Reference in New Issue
Block a user