init: new dotfile configuration
Remove all org files using a new script to more config over, The old org file configuaration were great but required org. This new version only requires the scripts that is included in the repo. The configuration are all done but have not ported the theming system yet. Signed-off-by: Steve Beaulac <steve@sagacity.ca> Change-Id: I14cd7fe058a71c8ba9d6d35397dc8d7e6a6a6964
This commit is contained in:
@@ -0,0 +1,355 @@
|
||||
return {
|
||||
|
||||
{
|
||||
'Civitasv/cmake-tools.nvim',
|
||||
lazy = true,
|
||||
config = function ()
|
||||
local osys = require("cmake-tools.osys")
|
||||
require("cmake-tools").setup {
|
||||
cmake_command = "cmake", -- this is used to specify cmake command path
|
||||
ctest_command = "ctest", -- this is used to specify ctest command path
|
||||
cmake_use_preset = true,
|
||||
cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt
|
||||
cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate`
|
||||
cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild`
|
||||
-- support macro expansion:
|
||||
-- ${kit}
|
||||
-- ${kitGenerator}
|
||||
-- ${variant:xx}
|
||||
cmake_build_directory = function()
|
||||
if osys.iswin32 then
|
||||
return "out\\${variant:buildType}"
|
||||
end
|
||||
return "out/${variant:buildType}"
|
||||
end, -- this is used to specify generate directory for cmake, allows macro expansion, can be a string or a function returning the string, relative to cwd.
|
||||
cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir
|
||||
cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false
|
||||
cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage
|
||||
cmake_variants_message = {
|
||||
short = { show = true }, -- whether to show short message
|
||||
long = { show = true, max_length = 40 }, -- whether to show long message
|
||||
},
|
||||
cmake_dap_configuration = { -- debug settings for cmake
|
||||
name = "cpp",
|
||||
type = "codelldb",
|
||||
request = "launch",
|
||||
stopOnEntry = false,
|
||||
runInTerminal = true,
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
cmake_executor = { -- executor to use
|
||||
name = "quickfix", -- name of the executor
|
||||
opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values.
|
||||
default_opts = { -- a list of default and possible values for executors
|
||||
quickfix = {
|
||||
show = "always", -- "always", "only_on_error"
|
||||
position = "belowright", -- "vertical", "horizontal", "leftabove", "aboveleft", "rightbelow", "belowright", "topleft", "botright", use `:h vertical` for example to see help on them
|
||||
size = 10,
|
||||
encoding = "utf-8", -- if encoding is not "utf-8", it will be converted to "utf-8" using `vim.fn.iconv`
|
||||
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
|
||||
},
|
||||
toggleterm = {
|
||||
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
|
||||
close_on_exit = false, -- whether close the terminal when exit
|
||||
auto_scroll = true, -- whether auto scroll to the bottom
|
||||
singleton = true, -- single instance, autocloses the opened one, if present
|
||||
},
|
||||
overseer = {
|
||||
new_task_opts = {
|
||||
strategy = {
|
||||
"toggleterm",
|
||||
direction = "horizontal",
|
||||
autos_croll = true,
|
||||
quit_on_exit = "success"
|
||||
}
|
||||
}, -- options to pass into the `overseer.new_task` command
|
||||
on_new_task = function(task)
|
||||
require("overseer").open(
|
||||
{ enter = false, direction = "right" }
|
||||
)
|
||||
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
|
||||
},
|
||||
terminal = {
|
||||
name = "Main Terminal",
|
||||
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
|
||||
split_direction = "horizontal", -- "horizontal", "vertical"
|
||||
split_size = 11,
|
||||
|
||||
-- Window handling
|
||||
single_terminal_per_instance = true, -- Single viewport, multiple windows
|
||||
single_terminal_per_tab = true, -- Single viewport per tab
|
||||
keep_terminal_static_location = true, -- Static location of the viewport if avialable
|
||||
auto_resize = true, -- Resize the terminal if it already exists
|
||||
|
||||
-- Running Tasks
|
||||
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
|
||||
focus = false, -- Focus on terminal when cmake task is launched.
|
||||
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
|
||||
}, -- terminal executor uses the values in cmake_terminal
|
||||
},
|
||||
},
|
||||
cmake_runner = { -- runner to use
|
||||
name = "terminal", -- name of the runner
|
||||
opts = {}, -- the options the runner will get, possible values depend on the runner type. See `default_opts` for possible values.
|
||||
default_opts = { -- a list of default and possible values for runners
|
||||
quickfix = {
|
||||
show = "always", -- "always", "only_on_error"
|
||||
position = "belowright", -- "bottom", "top"
|
||||
size = 10,
|
||||
encoding = "utf-8",
|
||||
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
|
||||
},
|
||||
toggleterm = {
|
||||
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
|
||||
close_on_exit = false, -- whether close the terminal when exit
|
||||
auto_scroll = true, -- whether auto scroll to the bottom
|
||||
singleton = true, -- single instance, autocloses the opened one, if present
|
||||
},
|
||||
overseer = {
|
||||
new_task_opts = {
|
||||
strategy = {
|
||||
"toggleterm",
|
||||
direction = "horizontal",
|
||||
autos_croll = true,
|
||||
quit_on_exit = "success"
|
||||
}
|
||||
}, -- options to pass into the `overseer.new_task` command
|
||||
on_new_task = function(task)
|
||||
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
|
||||
},
|
||||
terminal = {
|
||||
name = "Main Terminal",
|
||||
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
|
||||
split_direction = "horizontal", -- "horizontal", "vertical"
|
||||
split_size = 11,
|
||||
|
||||
-- Window handling
|
||||
single_terminal_per_instance = true, -- Single viewport, multiple windows
|
||||
single_terminal_per_tab = true, -- Single viewport per tab
|
||||
keep_terminal_static_location = true, -- Static location of the viewport if avialable
|
||||
auto_resize = true, -- Resize the terminal if it already exists
|
||||
|
||||
-- Running Tasks
|
||||
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
|
||||
focus = false, -- Focus on terminal when cmake task is launched.
|
||||
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
|
||||
},
|
||||
},
|
||||
},
|
||||
cmake_notifications = {
|
||||
runner = { enabled = true },
|
||||
executor = { enabled = true },
|
||||
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display
|
||||
refresh_rate_ms = 100, -- how often to iterate icons
|
||||
},
|
||||
cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner)
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
'mistweaverco/kulala.nvim',
|
||||
ft = {"http", "rest"},
|
||||
},
|
||||
|
||||
{
|
||||
"HakonHarnes/img-clip.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- add options here
|
||||
-- or leave it empty to use the default settings
|
||||
},
|
||||
keys = {
|
||||
-- suggested keymap
|
||||
{ "<leader>kp", "<cmd>PasteImage<cr>", desc = "Paste image from system clipboard" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"uhs-robert/sshfs.nvim",
|
||||
opts = {
|
||||
mounts = {
|
||||
base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created
|
||||
},
|
||||
-- Refer to the configuration section below
|
||||
-- or leave empty for defaults
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"esmuellert/codediff.nvim",
|
||||
dependencies = { "MunifTanjim/nui.nvim" },
|
||||
cmd = "CodeDiff",
|
||||
},
|
||||
|
||||
{
|
||||
"ejrichards/mise.nvim",
|
||||
keys = {
|
||||
{ "<leader>xm", "<cmd>Lazy reload mise.nvim<cr>", desc = "Reload mise environment" }
|
||||
},
|
||||
opts = {
|
||||
unset_vars = true,
|
||||
load_on_setup = true,
|
||||
force_run = true,
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
'NeogitOrg/neogit',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim', -- required
|
||||
'sindrets/diffview.nvim',
|
||||
},
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ '<leader>gn', "<cmd>Neogit kind=auto<cr>", desc = 'Neogit'},
|
||||
{ '<leader>gN', "<cmd>Neogit kind=floating<cr>", desc = 'Neogit'}
|
||||
},
|
||||
opts = {
|
||||
-- disable_context_highlighting = true,
|
||||
disable_commit_confirmation = true,
|
||||
disable_insert_on_commit = false,
|
||||
disable_signs = true,
|
||||
integrations = { diffview = true, fz_lua = false },
|
||||
auto_refresh = false,
|
||||
console_timeout = 5000,
|
||||
auto_show_console = false,
|
||||
sections = {
|
||||
stashes = {
|
||||
folded = false,
|
||||
},
|
||||
recent = { folded = false },
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
'stevearc/overseer.nvim',
|
||||
keys = {
|
||||
{ "<leader>xo", "<cmd>OverseerOpen<CR>", desc = "Open Overseer" },
|
||||
{ "<leader>to", "<cmd>OverseerToggle<CR>", desc = "Overseer Toggle" },
|
||||
{ "<F5>", "<cmd>OverseerRun<CR>", desc = "Run Overseer" },
|
||||
{ "<F6>", "<cmd>OverseerToggle<CR>", desc = "Overseer Toggle" },
|
||||
},
|
||||
config = function()
|
||||
require("overseer").setup({
|
||||
templates = { "builtin", "user" },
|
||||
component_aliases = {
|
||||
default = {
|
||||
{ 'display_duration', detail_level = 2 },
|
||||
'on_output_summarize',
|
||||
'on_exit_set_status',
|
||||
'on_result_diagnostics_quickfix',
|
||||
'on_complete_notify',
|
||||
{ "on_complete_dispose", require_view = { "SUCCESS", "FAILURE" } },
|
||||
},
|
||||
default_vscode = {
|
||||
'default',
|
||||
'on_result_diagnostics',
|
||||
'on_result_diagnostics_quickfix',
|
||||
'on_complete_notify',
|
||||
},
|
||||
}
|
||||
})
|
||||
-- local pm = require("overseer.template.vscode.problem_matcher")
|
||||
-- pm.register_problem_matcher("$rustc", {
|
||||
-- fileLocation = { "autoDetect", "${cwd}" },
|
||||
-- pattern = {
|
||||
-- --regexp = "^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
|
||||
-- -- vim_regexp = "\\v^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
|
||||
-- regexp = "^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
|
||||
-- vim_regexp = "\\v^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
|
||||
-- file = 1,
|
||||
-- line = 2,
|
||||
-- column = 3,
|
||||
-- }
|
||||
-- })
|
||||
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
'stevearc/quicker.nvim',
|
||||
event = "FileType qf",
|
||||
---@module "quicker"
|
||||
---@type quicker.SetupOptions
|
||||
opts = {},
|
||||
},
|
||||
|
||||
{
|
||||
"saxon1964/neovim-tips",
|
||||
version = "*", -- Only update on tagged releases
|
||||
lazy = false, -- Load on startup (recommended for daily tip feature)
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
-- OPTIONAL: Choose your preferred markdown renderer (or omit for raw markdown)
|
||||
"MeanderingProgrammer/render-markdown.nvim", -- Clean rendering
|
||||
-- OR: "OXY2DEV/markview.nvim", -- Rich rendering with advanced features
|
||||
},
|
||||
opts = {
|
||||
-- OPTIONAL: Location of user defined tips (default value shown below)
|
||||
user_file = vim.fn.stdpath("config") .. "/neovim_tips/user_tips.md",
|
||||
-- OPTIONAL: Prefix for user tips to avoid conflicts (default: "[User] ")
|
||||
user_tip_prefix = "[User] ",
|
||||
-- OPTIONAL: Show warnings when user tips conflict with builtin (default: true)
|
||||
warn_on_conflicts = true,
|
||||
-- OPTIONAL: Daily tip mode (default: 1)
|
||||
-- 0 = off, 1 = once per day, 2 = every startup
|
||||
daily_tip = 1,
|
||||
-- OPTIONAL: Bookmark symbol (default: "🌟 ")
|
||||
bookmark_symbol = "🌟 ",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-pack/nvim-spectre",
|
||||
lazy = true,
|
||||
cmd = { "Spectre" },
|
||||
keys = {
|
||||
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in files (Spectre)" },
|
||||
},
|
||||
opts = {
|
||||
open_cmd = "noswapfile vnew",
|
||||
highlight = {
|
||||
search = "SpectreSearch",
|
||||
replace = "SpectreReplace",
|
||||
},
|
||||
mapping = {
|
||||
["send_to_qf"] = {
|
||||
map = "<C-q>",
|
||||
cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
|
||||
desc = "send all items to quickfix",
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"thunder-coding/zincoxide",
|
||||
opts = {
|
||||
-- name of zoxide binary in your "$PATH" or path to the binary
|
||||
-- the command is executed using vim.fn.system()
|
||||
-- eg. "zoxide" or "/usr/bin/zoxide"
|
||||
zincoxide_cmd = "zoxide",
|
||||
-- Kinda experimental as of now
|
||||
complete = true,
|
||||
-- Available options { "tabs", "window", "global" }
|
||||
behaviour = "tabs",
|
||||
},
|
||||
cmd = { "Z", "Zg", "Zt", "Zw" },
|
||||
},
|
||||
|
||||
{
|
||||
"folke/persistence.nvim",
|
||||
event = "BufReadPre",
|
||||
opts = { options = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp" } },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>xr", function() require("persistence").load() end, desc = "Restore Session" },
|
||||
{ "<leader>xs", function() require("persistence").save() end, desc = "Save Session" },
|
||||
{ "<leader>xl", function() require("persistence").load({ last = true }) end, desc = "Restore Last Session" },
|
||||
{ "<leader>xd", function() require("persistence").stop() end, desc = "Don't Save Current Session" },
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user