Compare commits
26 commits
168475a988
...
3812750980
| Author | SHA1 | Date | |
|---|---|---|---|
| 3812750980 | |||
| cd414e5289 | |||
| 5b15a20be7 | |||
| 9afb34fd26 | |||
| 57a7149807 | |||
| 51336757cb | |||
| 246c06b60b | |||
| c436fe66fd | |||
| 943780c38b | |||
| 0af5a2def5 | |||
| 72f3e4877c | |||
| 34096cff74 | |||
| 590a012782 | |||
| 1970dc9dbd | |||
| ecf28787b6 | |||
| d6ef9acb1c | |||
| 44d76725cc | |||
| 8005f034d1 | |||
| 47736f5941 | |||
| 6b91ca2609 | |||
| 6b40d1eadf | |||
| 7da85801b4 | |||
| c381a0ffb6 | |||
| 4222648ab0 | |||
| 782798488e | |||
| 083973e7c1 |
15 changed files with 289 additions and 97 deletions
|
|
@ -1,20 +1,31 @@
|
||||||
|
|
||||||
|
output "LG Electronics W2442 0x000574E1" alias $left-screen
|
||||||
|
output "LG Electronics W2442 0x000574FD" alias $right-screen
|
||||||
|
|
||||||
|
profile dockedvert {
|
||||||
|
output $left-screen position 0,0 transform 90
|
||||||
|
output $right-screen position 1080,0
|
||||||
|
output eDP-1 disable
|
||||||
|
exec notify-send "💻 Display changed" "Applying vertical docked LG profile"
|
||||||
|
}
|
||||||
|
|
||||||
profile docked {
|
profile docked {
|
||||||
output "LG Electronics W2442 0x000574FD" position 1920,0
|
output $left-screen position 0,0 transform 0
|
||||||
output "LG Electronics W2442 0x000574E1" position 0,0
|
output $right-screen position 1920,0 transform 0
|
||||||
output eDP-1 disable
|
output eDP-1 disable
|
||||||
exec notify-send "💻 Display changed" "Applying docked LG profile"
|
exec notify-send "💻 Display changed" "Applying docked LG profile"
|
||||||
}
|
}
|
||||||
|
|
||||||
profile dockedall {
|
profile dockedall {
|
||||||
output "LG Electronics W2442 0x000574FD" position 1920,0
|
output $left-screen position 0,0
|
||||||
output "LG Electronics W2442 0x000574E1" position 0,0
|
output $right-screen position 1920,0
|
||||||
output eDP-1 enable position 960,1080
|
output eDP-1 enable position 1080,1080
|
||||||
exec notify-send "💻 Display changed" "Applying docked 3-screen profile"
|
exec notify-send "💻 Display changed" "Applying docked 3-screen profile"
|
||||||
}
|
}
|
||||||
|
|
||||||
profile portableforce {
|
profile portableforce {
|
||||||
output "LG Electronics W2442 0x000574FD" disable
|
output $left-screen disable
|
||||||
output "LG Electronics W2442 0x000574E1" disable
|
output $right-screen disable
|
||||||
output eDP-1 enable position 0,0
|
output eDP-1 enable position 0,0
|
||||||
exec notify-send "💻 Display changed" "Applying portable profile"
|
exec notify-send "💻 Display changed" "Applying portable profile"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ vim.opt.tabstop = 2
|
||||||
vim.opt.shiftwidth = 2
|
vim.opt.shiftwidth = 2
|
||||||
vim.opt.softtabstop = 2
|
vim.opt.softtabstop = 2
|
||||||
|
|
||||||
|
vim.opt.textwidth = 100
|
||||||
|
|
||||||
if require("core.util").is_available("which-key") then
|
if require("core.util").is_available("which-key") then
|
||||||
require("which-key").add({
|
require("which-key").add({
|
||||||
{ "<localleader>c", group = "codecells" },
|
{ "<localleader>c", group = "codecells" },
|
||||||
|
|
@ -11,18 +13,28 @@ if require("core.util").is_available("which-key") then
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- add tasks w/ <C-x>
|
-- Toggles existence of a md checkbox (`- [ ] `) on current line
|
||||||
map({ "i" }, "<C-x>", function()
|
-- Can be used on list lines, non-list lines or existing checkbox
|
||||||
local line = vim.api.nvim_get_current_line()
|
local function toggle_checkbox()
|
||||||
local cursor = vim.api.nvim_win_get_cursor(0)
|
local cursor = vim.api.nvim_win_get_cursor(0)
|
||||||
-- remove existing prefixes if any
|
local line = vim.api.nvim_get_current_line()
|
||||||
-- TODO: Improved matching for e.g. '- [ ]' already on line, or indented '-'
|
local updated_line
|
||||||
-- and add task on line below if line is already populated
|
-- look for existing checkbox
|
||||||
local updated_line = line:gsub("^%s*[-*]%s*", "", 1)
|
if line:find("^%s*[-*]%s%[[%sxo]%]") then
|
||||||
|
updated_line = line:gsub("^(%s*)([-*]?)%s*%[[%sxo-~]%]", "%1%2", 1)
|
||||||
|
-- look for existing list dash/asterisk
|
||||||
|
elseif line:find("^%s*[-*]%s") then
|
||||||
|
updated_line = line:gsub("^(%s*)([-*])%s*", "%1%2 [ ] ", 1)
|
||||||
|
-- add to non-list line
|
||||||
|
else
|
||||||
|
updated_line = line:gsub("^(%s*)", "%1- [ ] ", 1)
|
||||||
|
end
|
||||||
vim.api.nvim_set_current_line(updated_line)
|
vim.api.nvim_set_current_line(updated_line)
|
||||||
vim.api.nvim_win_set_cursor(0, { cursor[1], #updated_line })
|
vim.api.nvim_win_set_cursor(0, { cursor[1], #updated_line })
|
||||||
vim.api.nvim_put({ "- [ ] " }, "c", true, true)
|
end
|
||||||
end)
|
|
||||||
|
-- add tasks w/ <C-x>
|
||||||
|
map({ "n", "i" }, "<C-t>", toggle_checkbox)
|
||||||
|
|
||||||
if require("core.util").is_available("zk") and require("zk.util").notebook_root(vim.fn.expand("%:p")) ~= nil then
|
if require("core.util").is_available("zk") and require("zk.util").notebook_root(vim.fn.expand("%:p")) ~= nil then
|
||||||
map("n", "<CR>", "<cmd>lua vim.lsp.buf.definition()<cr>", { silent = true })
|
map("n", "<CR>", "<cmd>lua vim.lsp.buf.definition()<cr>", { silent = true })
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@
|
||||||
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
||||||
"cmp-pandoc.nvim": { "branch": "main", "commit": "30faa4456a7643c4cb02d8fa18438fd484ed7602" },
|
"cmp-pandoc.nvim": { "branch": "main", "commit": "30faa4456a7643c4cb02d8fa18438fd484ed7602" },
|
||||||
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
||||||
"codecompanion-gitcommit.nvim": { "branch": "main", "commit": "0ea26d93321e259dbb3766bf7f845ff02284e220" },
|
"codecompanion-gitcommit.nvim": { "branch": "main", "commit": "e237b9901d64074fa84f74c1b20892303e3e1830" },
|
||||||
"codecompanion-history.nvim": { "branch": "main", "commit": "5442513f1303884079c8f13cf8b75da44a3db679" },
|
"codecompanion-history.nvim": { "branch": "main", "commit": "b9f1afb77f1a8805e686f89ac38338a9ca588579" },
|
||||||
"codecompanion.nvim": { "branch": "main", "commit": "7ae585e1c868edb523cbb15c49fd15bc3def1261" },
|
"codecompanion.nvim": { "branch": "main", "commit": "76f1c1aaedbb159256dbc64705cd34f447046d64" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" },
|
"conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" },
|
||||||
"copilot-lualine": { "branch": "main", "commit": "6bc29ba1fcf8f0f9ba1f0eacec2f178d9be49333" },
|
"copilot-lualine": { "branch": "main", "commit": "6bc29ba1fcf8f0f9ba1f0eacec2f178d9be49333" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "c1bb86abbed1a52a11ab3944ef00c8410520543d" },
|
"copilot.lua": { "branch": "master", "commit": "c1bb86abbed1a52a11ab3944ef00c8410520543d" },
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
"hunk.nvim": { "branch": "master", "commit": "1e0a4d719c780bb8b0690a54915601508ced321e" },
|
"hunk.nvim": { "branch": "master", "commit": "1e0a4d719c780bb8b0690a54915601508ced321e" },
|
||||||
"image.nvim": { "branch": "master", "commit": "a4638ec549c6aa56264cb0371255192ff37a8a90" },
|
"image.nvim": { "branch": "master", "commit": "a4638ec549c6aa56264cb0371255192ff37a8a90" },
|
||||||
"img-clip.nvim": { "branch": "main", "commit": "0bb8b5ced45c2672c70184c87d014194b0705815" },
|
"img-clip.nvim": { "branch": "main", "commit": "0bb8b5ced45c2672c70184c87d014194b0705815" },
|
||||||
|
"jj-diffconflicts": { "branch": "feat/remove-instruction-message", "commit": "ee3f9179b2ab94d5177d3935fbf2bc94258d3541" },
|
||||||
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
|
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
|
||||||
"lazy-events.nvim": { "branch": "main", "commit": "63802b7ddc852bdfa29e33b158d52429276fa742" },
|
"lazy-events.nvim": { "branch": "main", "commit": "63802b7ddc852bdfa29e33b158d52429276fa742" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
|
|
@ -100,7 +101,7 @@
|
||||||
"vim-spellsync": { "branch": "master", "commit": "ea9f431483ceb40ede8bd5b126a03eccd49b1bc0" },
|
"vim-spellsync": { "branch": "master", "commit": "ea9f431483ceb40ede8bd5b126a03eccd49b1bc0" },
|
||||||
"wezterm.nvim": { "branch": "main", "commit": "f73bba23ab4becd146fa2d0a3a16a84b987eeaca" },
|
"wezterm.nvim": { "branch": "main", "commit": "f73bba23ab4becd146fa2d0a3a16a84b987eeaca" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" },
|
"which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" },
|
||||||
"wrapping.nvim": { "branch": "master", "commit": "3a823200c297885b70515fa8d974e1763c578e26" },
|
"wrapping.nvim": { "branch": "feat/nontextual-detection-option", "commit": "f3eb5d36e518b62430fd705086bc83cf2b1e7ac2" },
|
||||||
"zen-mode.nvim": { "branch": "main", "commit": "04b52674b8c800f8b7d4609e8bd8d0212e3ffa79" },
|
"zen-mode.nvim": { "branch": "main", "commit": "04b52674b8c800f8b7d4609e8bd8d0212e3ffa79" },
|
||||||
"zk-nvim": { "branch": "main", "commit": "fd1ab2239ed85ca51051c094a49a280f4ed76bb2" }
|
"zk-nvim": { "branch": "main", "commit": "fd1ab2239ed85ca51051c094a49a280f4ed76bb2" }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,8 +115,12 @@ local languages = {
|
||||||
},
|
},
|
||||||
quarto = { lint = { quarto = { "markdownlint" } }, format = { quarto = { "prettier", "injected" } } },
|
quarto = { lint = { quarto = { "markdownlint" } }, format = { quarto = { "prettier", "injected" } } },
|
||||||
sh = { lint = { sh = { "shellcheck" } }, format = { sh = { "shellharden", "shfmt" } } },
|
sh = { lint = { sh = { "shellcheck" } }, format = { sh = { "shellharden", "shfmt" } } },
|
||||||
sql = { format = { sql = { "sleek" } } },
|
sql = { format = { sql = { "sleek" } }, lint = { sql = { "sqruff" } } },
|
||||||
svelte = { lint = { svelte = { "eslint_d" } }, format = { svelte = { "prettier" } } },
|
svelte = { lint = { svelte = { "eslint_d" } }, format = { svelte = { "prettier" } } },
|
||||||
|
terraform = {
|
||||||
|
lsp = { tofu_ls = {} },
|
||||||
|
format = { terraform = { "terraform_fmt" } },
|
||||||
|
},
|
||||||
toml = { lsp = { taplo = {} }, ts = { "toml" } },
|
toml = { lsp = { taplo = {} }, ts = { "toml" } },
|
||||||
typescript = {
|
typescript = {
|
||||||
lsp = { ts_ls = {} },
|
lsp = { ts_ls = {} },
|
||||||
|
|
@ -356,7 +360,6 @@ local languages = {
|
||||||
"teal",
|
"teal",
|
||||||
"templ",
|
"templ",
|
||||||
"tera",
|
"tera",
|
||||||
"terraform",
|
|
||||||
"textproto",
|
"textproto",
|
||||||
"thrift",
|
"thrift",
|
||||||
"tiger",
|
"tiger",
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
event = { "BufWritePre" },
|
event = { "InsertEnter", "BufWritePre" },
|
||||||
opts = {},
|
opts = {},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,8 +104,20 @@ return {
|
||||||
{ "nvim-tree/nvim-web-devicons", optional = true },
|
{ "nvim-tree/nvim-web-devicons", optional = true },
|
||||||
},
|
},
|
||||||
cmd = { "DiffEditor" },
|
cmd = { "DiffEditor" },
|
||||||
config = function()
|
-- config = function()
|
||||||
require("hunk").setup()
|
-- require("hunk").setup()
|
||||||
end,
|
-- end,
|
||||||
|
opts = {
|
||||||
|
keys = {
|
||||||
|
global = {
|
||||||
|
quit = { "<leader>q" },
|
||||||
|
},
|
||||||
|
diff = { -- default to toggling line on both sides of diff with a
|
||||||
|
toggle_line = { "s" }, -- imagine it is '[s]ingle side'
|
||||||
|
toggle_line_pair = { "a" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
{ "rafikdraoui/jj-diffconflicts", lazy = false },
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,34 +58,56 @@ return {
|
||||||
opts = {
|
opts = {
|
||||||
strategies = {
|
strategies = {
|
||||||
chat = { adapter = "groq" },
|
chat = { adapter = "groq" },
|
||||||
inline = { adapter = "groq" },
|
inline = { adapter = "copilot" },
|
||||||
|
cmd = { adapter = "groq" },
|
||||||
},
|
},
|
||||||
adapters = {
|
adapters = {
|
||||||
groq = function()
|
http = {
|
||||||
return require("codecompanion.adapters").extend("openai", {
|
opts = {
|
||||||
env = {
|
show_defaults = false, -- TODO: set to false to only enable working, but does not show copilot then
|
||||||
api_key = "GROQ_API_KEY",
|
},
|
||||||
},
|
groq = function()
|
||||||
name = "Groq",
|
return require("codecompanion.adapters").extend("openai", {
|
||||||
url = "https://api.groq.com/openai/v1/chat/completions",
|
env = {
|
||||||
schema = {
|
api_key = "GROQ_API_KEY",
|
||||||
model = {
|
},
|
||||||
default = "llama-3.1-8b-instant",
|
name = "Groq",
|
||||||
choices = {
|
url = "https://api.groq.com/openai/v1/chat/completions",
|
||||||
"llama-3.3-70b-versatile",
|
schema = {
|
||||||
"meta-llama/llama-4-maverick-17b-128e-instruct",
|
model = {
|
||||||
"mistral-saba-24b",
|
default = "llama-3.1-8b-instant",
|
||||||
|
choices = {
|
||||||
|
-- production models
|
||||||
|
"llama-3.3-70b-versatile",
|
||||||
|
"llama-3.1-8b-instant",
|
||||||
|
"moonshotai/kimi-k2-instruct",
|
||||||
|
"meta-llama/llama-guard-4-12b",
|
||||||
|
"openai/gpt-oss-120b",
|
||||||
|
"openai/gpt-oss-20b",
|
||||||
|
-- preview models
|
||||||
|
"meta-llama/llama-4-maverick-17b-128e-instruct",
|
||||||
|
"meta-llama/llama-4-scout-17b-16e-instruct",
|
||||||
|
"deepseek-r1-distill-llama-70b",
|
||||||
|
"qwen/qwen3-32b",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
max_tokens = {
|
||||||
max_tokens = {
|
default = 4096,
|
||||||
default = 4096,
|
},
|
||||||
},
|
temperature = {
|
||||||
temperature = {
|
default = 1,
|
||||||
default = 1,
|
},
|
||||||
},
|
})
|
||||||
})
|
end,
|
||||||
end,
|
gemini = function()
|
||||||
|
return require("codecompanion.adapters").extend("gemini", {
|
||||||
|
env = {
|
||||||
|
api_key = "GEMINI_API_KEY",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
display = {
|
display = {
|
||||||
action_palette = {
|
action_palette = {
|
||||||
|
|
@ -120,12 +142,90 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
prompt_library = {
|
||||||
|
|
||||||
|
["Smart Paste"] = {
|
||||||
|
strategy = "inline",
|
||||||
|
description = "Paste code smartly",
|
||||||
|
opts = { short_name = "paste" },
|
||||||
|
prompts = {
|
||||||
|
{
|
||||||
|
role = "user",
|
||||||
|
content = [[
|
||||||
|
You are a smart code paste agent within Neovim.
|
||||||
|
|
||||||
|
## **Task:** Intelligently integrate content from the user's clipboard into the current buffer.
|
||||||
|
|
||||||
|
## **Instructions:**
|
||||||
|
|
||||||
|
- You may receive code in various programming languages or even natural language instructions.
|
||||||
|
- If the clipboard content is in a different language than the current buffer, translate it to the appropriate language smartly.
|
||||||
|
- If the clipboard content contains pseudo code generate code accordingly.
|
||||||
|
- If the clipboard content contains natural language instructions, interpret and follow them to modify the code in the current buffer.
|
||||||
|
- **ONLY** generate the **new** lines of code required for seamless integration.
|
||||||
|
- Ensure the inserted code is syntactically correct and logically consistent with the existing code.
|
||||||
|
- Do **NOT** include surrounding code or line numbers.
|
||||||
|
- Make sure all brackets and quotes are closed properly.
|
||||||
|
|
||||||
|
## **Output:**
|
||||||
|
|
||||||
|
- Provide only the necessary lines of code for insertion.
|
||||||
|
- If you can't generate code just return nothing.
|
||||||
|
- Ensure the response is proper and well-formatted.
|
||||||
|
]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
role = "user",
|
||||||
|
content = function(context)
|
||||||
|
local lines = require("codecompanion.helpers.actions").get_code(
|
||||||
|
1,
|
||||||
|
context.line_count,
|
||||||
|
{ show_line_numbers = true }
|
||||||
|
)
|
||||||
|
local selection_info = ""
|
||||||
|
local clipboard = vim.fn.getreg("+")
|
||||||
|
|
||||||
|
if context.is_visual then
|
||||||
|
selection_info = string.format(
|
||||||
|
"Currently selected lines: %d-%d",
|
||||||
|
context.start_line,
|
||||||
|
context.end_line
|
||||||
|
)
|
||||||
|
else
|
||||||
|
selection_info = string.format(
|
||||||
|
"Current cursor line: %d and Current cursor column is %d",
|
||||||
|
context.cursor_pos[1],
|
||||||
|
context.cursor_pos[2]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
return string.format(
|
||||||
|
"I have the following code:\n\n```%s\n%s\n```\n\nClipboard content:\n\n```\n%s\n```\n\n%s",
|
||||||
|
context.filetype,
|
||||||
|
lines,
|
||||||
|
clipboard,
|
||||||
|
selection_info
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
contains_code = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>aa", "<cmd>CodeCompanionActions<cr>", desc = "Actions", silent = true, mode = { "n", "v" } },
|
{ "<leader>aa", "<cmd>CodeCompanionActions<cr>", desc = "Actions", silent = true, mode = { "n", "v" } },
|
||||||
{ "<leader>ac", "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat", silent = true },
|
{ "<leader>ac", "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat", silent = true },
|
||||||
{ "<leader>ac", "<cmd>CodeCompanionChat Add<cr>", desc = "Add to chat", silent = true, mode = "v" },
|
{ "<leader>ac", "<cmd>CodeCompanionChat Add<cr>", desc = "Add to chat", silent = true, mode = "v" },
|
||||||
},
|
},
|
||||||
cmd = { "CodeCompanionActions", "CodeCompanionChat", "CodeCompanion", "CodeCompanionCmd" },
|
cmd = {
|
||||||
|
"CodeCompanionActions",
|
||||||
|
"CodeCompanionChat",
|
||||||
|
"CodeCompanion",
|
||||||
|
"CodeCompanionCmd",
|
||||||
|
"CodeCompanionGitCommit",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,12 @@ return { -- file/item pickers and managers
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaults = { -- FIXME: Does not seem to work with single result and still closes instantly?
|
winopts = {
|
||||||
|
preview = {
|
||||||
|
wrap = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
defaults = {
|
||||||
jump1 = false,
|
jump1 = false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -191,7 +196,7 @@ return { -- file/item pickers and managers
|
||||||
desc = "path complete",
|
desc = "path complete",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<c-t>",
|
"<c-x>",
|
||||||
function()
|
function()
|
||||||
require("fzf-lua").complete_path()
|
require("fzf-lua").complete_path()
|
||||||
end,
|
end,
|
||||||
|
|
@ -264,7 +269,7 @@ return { -- file/item pickers and managers
|
||||||
desc = "registers",
|
desc = "registers",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fr",
|
"<leader>fj",
|
||||||
function()
|
function()
|
||||||
require("fzf-lua").jumps()
|
require("fzf-lua").jumps()
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,22 @@
|
||||||
|
-- append t2 to t1
|
||||||
|
-- happens in-place, so it CHANGES t1
|
||||||
|
local function concat(t1, t2)
|
||||||
|
local tbl = {}
|
||||||
|
for i = 1, #t1 do
|
||||||
|
tbl[#tbl + 1] = t1[i]
|
||||||
|
end
|
||||||
|
for i = 1, #t2 do
|
||||||
|
tbl[#tbl + 1] = t2[i]
|
||||||
|
end
|
||||||
|
return tbl
|
||||||
|
end
|
||||||
|
|
||||||
local md_like = {
|
local md_like = {
|
||||||
"markdown",
|
"markdown",
|
||||||
"djot",
|
"djot",
|
||||||
"pandoc",
|
"pandoc",
|
||||||
"quarto",
|
"quarto",
|
||||||
|
"rmd",
|
||||||
"vimwiki",
|
"vimwiki",
|
||||||
"codecompanion",
|
"codecompanion",
|
||||||
}
|
}
|
||||||
|
|
@ -11,8 +25,6 @@ local org_like = {
|
||||||
"org",
|
"org",
|
||||||
}
|
}
|
||||||
local prose_ft = {
|
local prose_ft = {
|
||||||
unpack(md_like),
|
|
||||||
unpack(org_like),
|
|
||||||
"asciidoc",
|
"asciidoc",
|
||||||
"bib",
|
"bib",
|
||||||
"context",
|
"context",
|
||||||
|
|
@ -23,8 +35,9 @@ local prose_ft = {
|
||||||
"tex",
|
"tex",
|
||||||
"text",
|
"text",
|
||||||
"typst",
|
"typst",
|
||||||
"rmd",
|
|
||||||
}
|
}
|
||||||
|
prose_ft = concat(prose_ft, md_like)
|
||||||
|
prose_ft = concat(prose_ft, org_like)
|
||||||
|
|
||||||
local prose_plugs = {
|
local prose_plugs = {
|
||||||
-- UI improvements
|
-- UI improvements
|
||||||
|
|
@ -72,14 +85,41 @@ local prose_plugs = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"andrewferrier/wrapping.nvim",
|
"marty-oehme/wrapping.nvim",
|
||||||
|
branch = "feat/nontextual-detection-option",
|
||||||
opts = {
|
opts = {
|
||||||
create_keymaps = false,
|
create_keymaps = false,
|
||||||
notify_on_switch = false,
|
notify_on_switch = false,
|
||||||
-- softener = { quarto = true, markdown = true, text = true, asciidoc = true },
|
|
||||||
auto_set_mode_filetype_allowlist = prose_ft,
|
auto_set_mode_filetype_allowlist = prose_ft,
|
||||||
|
softener = { quarto = 2.0, markdown = 2.0, djot = 2.0 },
|
||||||
|
nontextual_heuristic = function()
|
||||||
|
local nb = vim.tbl_get(vim.env, "ZK_NOTEBOOK_DIR") or vim.tbl_get(vim.env, "WIKIROOT")
|
||||||
|
if nb then
|
||||||
|
if vim.fn.expand("%:p:h"):find(nb) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
local get_clients
|
||||||
|
|
||||||
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
|
get_clients = vim.lsp.get_clients
|
||||||
|
else
|
||||||
|
get_clients = vim.lsp.get_active_clients
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, client in pairs(get_clients({ bufnr = 0 })) do
|
||||||
|
if
|
||||||
|
client.server_capabilities.definitionProvider
|
||||||
|
or client.server_capabilities.signatureHelpProvider
|
||||||
|
then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
-- event = { "BufReadPre", "BufNewFile" },
|
|
||||||
ft = prose_ft,
|
ft = prose_ft,
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
|
|
@ -100,11 +140,11 @@ local prose_plugs = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- displays prettier md rendering
|
|
||||||
{
|
{
|
||||||
|
-- displays prettier md rendering
|
||||||
"MeanderingProgrammer/render-markdown.nvim",
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
file_types = { "markdown", "codecompanion" },
|
file_types = md_like,
|
||||||
render_modes = { "n", "c", "i" },
|
render_modes = { "n", "c", "i" },
|
||||||
code = {
|
code = {
|
||||||
sign = false,
|
sign = false,
|
||||||
|
|
@ -223,6 +263,13 @@ local prose_plugs = {
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
config = function()
|
config = function()
|
||||||
|
local picker = "select"
|
||||||
|
if require("core.util").is_available("fzf-lua") then
|
||||||
|
picker = "fzf_lua"
|
||||||
|
elseif require("core.util").is_available("telescope") then
|
||||||
|
picker = "telescope"
|
||||||
|
end
|
||||||
|
|
||||||
require("zk.commands").add("ZkOrphans", function(opts)
|
require("zk.commands").add("ZkOrphans", function(opts)
|
||||||
opts = vim.tbl_extend("force", { orphan = true }, opts or {})
|
opts = vim.tbl_extend("force", { orphan = true }, opts or {})
|
||||||
require("zk").edit(opts, { title = "Zk Orphans" })
|
require("zk").edit(opts, { title = "Zk Orphans" })
|
||||||
|
|
@ -245,21 +292,17 @@ local prose_plugs = {
|
||||||
return collection[path]
|
return collection[path]
|
||||||
end,
|
end,
|
||||||
}, opts or {})
|
}, opts or {})
|
||||||
-- FIXME: Don't hard-code this so much?
|
if picker == "telescope" then
|
||||||
-- require("telescope.builtin").live_grep(options)
|
require("telescope.builtin").live_grep(options)
|
||||||
require("fzf-lua").live_grep(options)
|
elseif picker == "fzf_lua" then
|
||||||
|
require("fzf-lua").live_grep(options)
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
local picker = "select"
|
|
||||||
if require("core.util").is_available("fzf-lua") then
|
|
||||||
picker = "fzf_lua"
|
|
||||||
elseif require("core.util").is_available("telescope") then
|
|
||||||
picker = "telescope"
|
|
||||||
end
|
|
||||||
require("zk").setup({
|
require("zk").setup({
|
||||||
picker = picker,
|
picker = picker,
|
||||||
lsp = {
|
lsp = {
|
||||||
config = {
|
config = {
|
||||||
filetypes = { "markdown", "quarto", "djot" },
|
filetypes = md_like,
|
||||||
},
|
},
|
||||||
auto_attach = {
|
auto_attach = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,6 @@ active.indicator=>
|
||||||
report.list.columns=start.active,id,project,priority,due,description.count,tags,entry.age
|
report.list.columns=start.active,id,project,priority,due,description.count,tags,entry.age
|
||||||
report.list.labels=,,Project,Pri,Due,Description,Tags,Age
|
report.list.labels=,,Project,Pri,Due,Description,Tags,Age
|
||||||
# customize next report: focus on urgencies
|
# customize next report: focus on urgencies
|
||||||
report.next.columns=id,project,priority,urgency,due,description.count,tags,scheduled,entry.age,recur
|
|
||||||
report.next.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur
|
|
||||||
# customize next report: focus on urgencies
|
|
||||||
report.next.columns=id,project,priority,urgency,due,description,tags,scheduled,entry.age,recur
|
report.next.columns=id,project,priority,urgency,due,description,tags,scheduled,entry.age,recur
|
||||||
report.next.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur
|
report.next.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur
|
||||||
|
|
||||||
|
|
@ -113,4 +110,4 @@ report.issues.description=Git Issue Open or Closed state
|
||||||
report.issues.columns=id,project,priority,due,gitbugstate,description,tags,scheduled
|
report.issues.columns=id,project,priority,due,gitbugstate,description,tags,scheduled
|
||||||
report.issues.filter=( +PENDING or +WAITING ) and ( gitbugstate:OPEN )
|
report.issues.filter=( +PENDING or +WAITING ) and ( gitbugstate:OPEN )
|
||||||
|
|
||||||
news.version=3.0.2
|
news.version=3.4.1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,9 @@ c.url.searchengines = {
|
||||||
"maps": "https://facilmap.org/#q={}",
|
"maps": "https://facilmap.org/#q={}",
|
||||||
"pcw": "https://www.pcgamingwiki.com/w/index.php?search={}",
|
"pcw": "https://www.pcgamingwiki.com/w/index.php?search={}",
|
||||||
"py": "https://pypi.org/search/?q={}",
|
"py": "https://pypi.org/search/?q={}",
|
||||||
|
"quote": "https://quoteinvestigator.com/?s={}",
|
||||||
"r": "https://www.reddit.com/r/{}",
|
"r": "https://www.reddit.com/r/{}",
|
||||||
|
"read": "https://read.martyoeh.me/search?currentRoute=all&search_entry%5Bterm%5D={}",
|
||||||
"sc": "https://www.shellcheck.net/wiki/SC{}",
|
"sc": "https://www.shellcheck.net/wiki/SC{}",
|
||||||
"sci": "https://sci-hub.ru/{}",
|
"sci": "https://sci-hub.ru/{}",
|
||||||
"t": "https://www.thesaurus.com/browse/{}",
|
"t": "https://www.thesaurus.com/browse/{}",
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,17 @@ private-commits = "description(glob-i:'WIP:*') | description(glob-i:'PRIVATE:*')
|
||||||
[ui]
|
[ui]
|
||||||
default-command = ["log", "-T", "builtin_log_oneline", "-r", "stack()"]
|
default-command = ["log", "-T", "builtin_log_oneline", "-r", "stack()"]
|
||||||
diff-editor = ["nvim", "-c", "DiffEditor $left $right $output"]
|
diff-editor = ["nvim", "-c", "DiffEditor $left $right $output"]
|
||||||
|
diff-instructions = false # don't add the JJ-INSTRUCTIONS file to diffs
|
||||||
|
merge-editor = "dc"
|
||||||
|
|
||||||
|
[merge-tools.dc] # the 'diffconflicts' plugin for nvim
|
||||||
|
program = "nvim"
|
||||||
|
merge-args = [
|
||||||
|
"-c", "let g:jj_diffconflicts_marker_length=$marker_length",
|
||||||
|
"-c", "let g:jj_diffconflicts_turn_off_instructions=1",
|
||||||
|
"-c", "JJDiffConflicts!", "$output", "$base", "$left", "$right"
|
||||||
|
]
|
||||||
|
merge-tool-edits-conflict-markers = true
|
||||||
|
|
||||||
# use delta as formatter but _only_ for diff and show
|
# use delta as formatter but _only_ for diff and show
|
||||||
# see: https://github.com/jj-vcs/jj/discussions/4690#discussioncomment-12388965
|
# see: https://github.com/jj-vcs/jj/discussions/4690#discussioncomment-12388965
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@ picktool = papis-tui
|
||||||
mark-opener-format = sioyek --page {mark[value]}
|
mark-opener-format = sioyek --page {mark[value]}
|
||||||
file-browser = vifm
|
file-browser = vifm
|
||||||
|
|
||||||
|
# use openl as isbn metadata provider. other options: goob, wiki
|
||||||
|
# see: https://isbnlib.readthedocs.io/en/latest/devs.html#api-s-main-namespaces under `meta`
|
||||||
|
isbn-service = openl
|
||||||
|
|
||||||
# edit info.yaml as new papers are added
|
# edit info.yaml as new papers are added
|
||||||
add-edit = True
|
add-edit = True
|
||||||
# ref-format = {doc[author_list][0][family]}{doc[year]}
|
# ref-format = {doc[author_list][0][family]}{doc[year]}
|
||||||
|
|
@ -32,13 +36,17 @@ editmore = vi
|
||||||
[main]
|
[main]
|
||||||
dir = ~/documents/library
|
dir = ~/documents/library
|
||||||
|
|
||||||
# My personal reading
|
### Long-term libraries
|
||||||
[personal]
|
|
||||||
dir = ~/documents/library/personal
|
|
||||||
|
|
||||||
# Sustainable supply chain logistics, especially procurement
|
# General personal reading
|
||||||
[litrev-rahman]
|
[gen]
|
||||||
dir = ~/documents/library/litrev-rahman
|
dir = ~/documents/library/general
|
||||||
|
|
||||||
|
# General computer science reading
|
||||||
|
[cs]
|
||||||
|
dir = ~/documents/library/cs
|
||||||
|
|
||||||
|
### Situational libraries
|
||||||
|
|
||||||
# Addressing Inequalities in World of Work research
|
# Addressing Inequalities in World of Work research
|
||||||
[ilo]
|
[ilo]
|
||||||
|
|
@ -49,23 +57,10 @@ dir = ~/documents/library/ilo-wow
|
||||||
[fedi]
|
[fedi]
|
||||||
dir = ~/documents/library/fediverse
|
dir = ~/documents/library/fediverse
|
||||||
|
|
||||||
# General computer science reading
|
|
||||||
[cs]
|
|
||||||
dir = ~/documents/library/cs
|
|
||||||
|
|
||||||
# Electrical engineering reading
|
|
||||||
[ee]
|
|
||||||
dir = ~/documents/library/ee
|
|
||||||
|
|
||||||
# All my university programme readings
|
# All my university programme readings
|
||||||
[emgs]
|
[emgs]
|
||||||
dir = ~/documents/library/emgs
|
dir = ~/documents/library/emgs
|
||||||
|
|
||||||
# General research reading
|
|
||||||
[academia]
|
|
||||||
dir = ~/documents/library/academia
|
|
||||||
|
|
||||||
|
|
||||||
[plugins.extract]
|
[plugins.extract]
|
||||||
tags = {"red": "important", "green": "extra", "blue": "toread"}
|
tags = {"red": "important", "green": "extra", "blue": "toread"}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ if [ -n "${WIKIROOT}" ]; then
|
||||||
_zk_wiki new "$@"
|
_zk_wiki new "$@"
|
||||||
}
|
}
|
||||||
nnn() { # 'new quicknote'
|
nnn() { # 'new quicknote'
|
||||||
_zk_wiki new -t "${*:-$(date)}" inbox
|
_zk_wiki new -t "${*:-$(date)}"
|
||||||
}
|
}
|
||||||
nnl() { # 'new note log'
|
nnl() { # 'new note log'
|
||||||
_zk_wiki log "$@"
|
_zk_wiki log "$@"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
#
|
#
|
||||||
|
|
||||||
export ZK_NOTEBOOK_DIR="${WIKIROOT:-~/documents/notes/}"
|
export ZK_NOTEBOOK_DIR="${WIKIROOT:-$HOME/documents/notes/}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue