Compare commits

...

11 Commits

Author SHA1 Message Date
Daveanand Mannie
3522c28620 [chore] include hidden on diagnostics 2026-02-04 10:20:37 -05:00
Daveanand Mannie
0fc8a32863 [chore] remove unused whichkey ui helpers 2026-02-02 15:33:46 -05:00
Daveanand Mannie
5f37db4f8b [update] venv selector to commit 321dbbb 2026-02-02 15:33:18 -05:00
Daveanand Mannie
a730958ba9 [add] links to repos 2026-01-23 09:53:40 -05:00
Daveanand Mannie
16ad70f2ce [remove] docker alias
i was dumb and thought user groups wasn't working
2026-01-23 09:48:47 -05:00
Daveanand Mannie
e9fc5490ac [add] lsp config update for multi project ruby
I'm still a bit hazy on how to integrate ruby's ecosystem
2026-01-21 09:49:35 -05:00
Daveanand Mannie
51bb7213d0 [ADD] xml lsp configuration 2026-01-12 14:29:11 -05:00
Daveanand Mannie
8006bc52e8 [remove] rubocop
not sure i need this yet lets see
2026-01-12 11:38:48 -05:00
Daveanand Mannie
2f9cbf29fa [format] lua via stylua 2026-01-12 11:38:14 -05:00
Daveanand Mannie
6720c8c765 [ADD] lua language config and ad sty config to root dir 2026-01-12 11:36:23 -05:00
Daveanand Mannie
301a265080 [update] removed the depercated LazyVim.lsp.on_attach(**) method Snacks.util.lsp.on(**) 2026-01-12 10:44:52 -05:00
21 changed files with 248 additions and 223 deletions

View File

@@ -1,4 +1,7 @@
# 💤 LazyVim Config
## [Gitea](https://gitea.routinedevelopment.ca/DaveanandMannie/lazy_config)
## [Github mirror](https://github.com/DaveanandMannie/my_lazy_config)
# 💤 LazyVim Config (out of sync)
This is my personal **LazyVim** configuration, designed to run seamlessly on both
**WSL (Windows)** and **bare-metal Linux** environments. It also integrates

View File

@@ -1,59 +0,0 @@
AllCops:
TargetRubyVersion: 3.4
NewCops: enable
Exclude:
- 'db/schema.rb'
- 'bin/**/*'
- 'node_modules/**/*'
- 'vendor/**/*'
Layout/LineLength:
Max: 100
Layout/IndentationWidth:
Width: 2
Layout/EmptyLinesAroundClassBody:
Enabled: true
Layout/EmptyLinesAroundModuleBody:
Enabled: true
Naming/VariableName:
EnforcedStyle: snake_case
Naming/MethodName:
EnforcedStyle: snake_case
Naming/ClassAndModuleCamelCase:
Enabled: true
Style/Documentation:
Enabled: false
Style/RedundantBegin:
Enabled: true
Style/GuardClause:
Enabled: true
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/TrailingCommaInArguments:
EnforcedStyleForMultiline: comma
Style/OptionalBooleanParameter:
Enabled: false
Metrics/MethodLength:
Max: 25
Metrics/ClassLength:
Max: 200
Metrics/BlockLength:
Max: 25
Metrics/AbcSize:
Max: 15

View File

@@ -2,15 +2,15 @@
local wezterm = require("wezterm")
local config = wezterm.config_builder()
-- workspace dir default
config.default_cwd = os.getenv("HOMEPATH") or os.getenv("HOME").. "/workspace"
config.default_cwd = os.getenv("HOMEPATH") or os.getenv("HOME") .. "/workspace"
-- default term prog can be changed with cli args
if os.getenv("pwsh") then
config.default_prog = { "pwsh" }
config.default_prog = { "pwsh" }
end
--styles
config.harfbuzz_features = { "calt=1", "clig=1", "liga=1" }
config.font = wezterm.font("JetBrainsMono NF", { weight = "Bold" , style = "Italic"})
config.font = wezterm.font("JetBrainsMono NF", { weight = "Bold", style = "Italic" })
-- config.font_size = 14
config.color_scheme = "Sakura"
config.window_padding = {
@@ -20,7 +20,7 @@ config.window_padding = {
bottom = "0cell",
}
-- pane
config.colors = { split = '#E858F5' }
config.colors = { split = "#E858F5" }
config.inactive_pane_hsb = {
saturation = 0.7,
brightness = 0.8,

View File

@@ -35,6 +35,6 @@
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
"venv-selector.nvim": { "branch": "main", "commit": "58bae72c84b9f7f864c879ec1896e384296f9ffb" },
"venv-selector.nvim": { "branch": "main", "commit": "321dbbbfc3f1d25dad24c289e853cacd0666f77f" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@@ -1,11 +1,3 @@
-- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here
vim.api.nvim_create_autocmd("FileType", {
pattern = { "lua" },
callback = function()
vim.bo.tabstop = 2
vim.bo.softtabstop = 2
vim.bo.shiftwidth = 2
end,
})

View File

@@ -20,9 +20,10 @@ require("lazy").setup({
{ import = "plugins" },
{ import = "plugins.langs.python" },
{ import = "plugins.langs.go" },
{import = "plugins.langs.ruby"},
{import = "plugins.langs.biome"},
{ import = "plugins.langs.ruby" },
{ import = "plugins.langs.biome" },
{ import = "plugins.langs.xml" },
{ import = "plugins.langs.lua" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.

View File

@@ -27,8 +27,6 @@ local layouts = {
},
},
vs_search = {
preview = false,
layout = {

View File

@@ -2,7 +2,7 @@ return {
"saghen/blink.cmp",
opts = {
keymap = {
["<Tab>"] = { "select_and_accept", 'fallback' },
["<Tab>"] = { "select_and_accept", "fallback" },
},
},
}

View File

@@ -1,21 +1,22 @@
return {
"stevearc/conform.nvim",
opts = {
-- lsp_formatting = false,
-- fallback = false,
formatters_by_ft = {
python = { "black" },
go = { "goimports", "gofumpt" },
xml = { "lemminx" },
ruby = { "standardrb" },
json = { "biome" , "json-lsp"},
css = { "biome" },
javascript = { "biome" },
sql = { "pg_format" },
yaml = {"hydra_lsp"}
},
},
dependencies = {
"mason.nvim",
},
"stevearc/conform.nvim",
opts = {
-- lsp_formatting = false,
-- fallback = false,
formatters_by_ft = {
python = { "black" },
go = { "goimports", "gofumpt" },
xml = { "lemminx" },
ruby = { "standardrb" },
json = { "biome", "json-lsp" },
css = { "biome" },
javascript = { "biome" },
sql = { "pg_format" },
yaml = { "hydra_lsp" },
lua = { "stylua" },
},
},
dependencies = {
"mason.nvim",
},
}

View File

@@ -1,11 +1,11 @@
return {
"neovim/nvim-lspconfig",
opts = {
servers = {
biome = {
cmd = { "biome", "lsp-proxy" },
filetypes = { "javascript", "css", "json" },
},
},
},
"neovim/nvim-lspconfig",
opts = {
servers = {
biome = {
cmd = { "biome", "lsp-proxy" },
filetypes = { "javascript", "css", "json" },
},
},
},
}

View File

@@ -44,7 +44,7 @@ return {
gopls = function(_, opts)
-- workaround for gopls not supporting semanticTokensProvider
-- https://github.com/golang/go/issues/54531#issuecomment-1464982242
LazyVim.lsp.on_attach(function(client, _)
Snacks.util.lsp.on({ name = "gopls" }, function(_, client)
if not client.server_capabilities.semanticTokensProvider then
local semantic = client.config.capabilities.textDocument.semanticTokens
client.server_capabilities.semanticTokensProvider = {
@@ -56,7 +56,7 @@ return {
range = true,
}
end
end, "gopls")
end)
-- end workaround
end,
},

View File

@@ -0,0 +1,43 @@
return {
"neovim/nvim-lspconfig",
opts = {
servers = {
lua_ls = {
settings = {
Lua = {
runtime = {
version = "LuaJIT",
},
format = {
enable = true,
defaultConfig = {
indent_style = "space",
indent_size = "2",
max_line_length = "88",
},
},
diagnostics = {
globals = { "vim" },
},
workspace = {
library = {
vim.env.VIMRUNTIME,
},
checkThirdParty = false,
},
telemetry = {
enable = false,
},
},
},
},
},
setup = {
lua_ls = function()
require("snacks").util.lsp.on({ name = "lua_ls" }, function(_, client)
client.server_capabilities.hoverProvider = true
end)
end,
},
},
}

View File

@@ -1,66 +1,63 @@
-- lua/plugins/dap-python.lua
return {
-- Core DAP plugin
{
"mfussenegger/nvim-dap",
dependencies = {
-- UI for the debugger
{
"rcarriga/nvim-dap-ui",
dependencies = { "nvim-neotest/nvim-nio" },
opts = {},
config = function(_, opts)
local dap = require("dap")
local dapui = require("dapui")
dapui.setup(opts)
-- icons
-- Core DAP plugin
{
"mfussenegger/nvim-dap",
dependencies = {
-- UI for the debugger
{
"rcarriga/nvim-dap-ui",
dependencies = { "nvim-neotest/nvim-nio" },
opts = {},
config = function(_, opts)
local dap = require("dap")
local dapui = require("dapui")
dapui.setup(opts)
-- icons
vim.fn.sign_define(
"DapBreakpoint",
{ text = "🔴", texthl = "DiagnosticError", linehl = "", numhl = "" }
)
vim.fn.sign_define("DapBreakpoint", { text = "🔴", texthl = "DiagnosticError", linehl = "", numhl = "" })
-- Auto open/close UI
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end,
},
-- Auto open/close UI
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end,
},
-- Virtual text showing variable values
{
"theHamsta/nvim-dap-virtual-text",
opts = {},
},
-- Virtual text showing variable values
{
"theHamsta/nvim-dap-virtual-text",
opts = {},
},
-- Python-specific adapter
{
"mfussenegger/nvim-dap-python",
config = function()
local dap = require("dap")
-- If installed via Mason:
require("dap-python").setup("~/.local/share/nvim/mason/packages/debugpy/venv/bin/python")
-- remote
table.insert(dap.configurations.python, {
type = "python",
request = "attach",
name = "Attach to Process (5678)",
connect = {
host = "localhost",
port = 5678,
},
})
end,
},
},
-- Python-specific adapter
{
"mfussenegger/nvim-dap-python",
config = function()
local dap = require("dap")
-- If installed via Mason:
require("dap-python").setup("~/.local/share/nvim/mason/packages/debugpy/venv/bin/python")
-- remote
table.insert(dap.configurations.python, {
type = "python",
request = "attach",
name = "Attach to Process (5678)",
connect = {
host = "localhost",
port = 5678,
},
})
end,
},
},
keys = {
keys = {
-- Basic debugging
-- stylua: ignore start
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
@@ -82,23 +79,23 @@ return {
-- DAP UI
{ "<leader>du", function() require("dapui").toggle({}) end, desc = "Dap UI" },
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
-- stylua: ignore end
{
"<leader>dI",
function()
local lines = {
"import debugpy",
'debugpy.listen(("localhost", 5678))',
'print("                              ")',
'print(" Debugpy listening on port 5678 ", flush=True)',
'print("                              ")',
"",
}
vim.api.nvim_buf_set_lines(0, 0, 0, false, lines)
end,
desc = "Insert debugpy listener at top",
ft = "python",
},
},
},
-- stylua: ignore end
{
"<leader>dI",
function()
local lines = {
"import debugpy",
'debugpy.listen(("localhost", 5678))',
'print("                              ")',
'print(" Debugpy listening on port 5678 ", flush=True)',
'print("                              ")',
"",
}
vim.api.nvim_buf_set_lines(0, 0, 0, false, lines)
end,
desc = "Insert debugpy listener at top",
ft = "python",
},
},
},
}

View File

@@ -20,7 +20,7 @@ return {
init_options = {
settings = {
logLevel = "error",
configuration = config_path, -- Use the dynamically set config_path
configuration = config_path, -- Use the dynamically set config_path
configurationPreference = "filesystemFirst",
},
},
@@ -41,11 +41,17 @@ return {
},
},
},
-- setup = {
-- basedpyright = function()
-- LazyVim.lsp.on_attach(function(client, _)
-- client.server_capabilities.hoverProvider = true
-- end, "basedpyright")
-- },
setup = {
basedpyright = function()
LazyVim.lsp.on_attach(function(client, _)
require("snacks").util.lsp.on({ name = "basedpyright" }, function(_, client)
client.server_capabilities.hoverProvider = true
end, "basedpyright")
end)
end,
},
},

View File

@@ -1,13 +1,21 @@
return {
"neovim/nvim-lspconfig",
opts = {
servers = {
ruby_lsp = {
mason = false,
cmd = { os.getenv("HOME") .. "/.rbenv/shims/ruby-lsp" },
single_file_support = false,
root_partern = { ".git" },
},
},
},
"neovim/nvim-lspconfig",
opts = {
servers = {
ruby_lsp = {
mason = false,
single_file_support = false,
-- cmd = { os.getenv("HOME") .. "/.rbenv/shims/ruby-lsp" },
init_options = { enabledFeatures = { formatter = "none", linters = {} } },
settings = {
ruby = {
diagnostics = {
rubocop = false,
},
},
},
formatter = false,
},
},
},
}

View File

@@ -1,22 +1,56 @@
-- return {
-- "neovim/nvim-lspconfig",
-- opts = {
-- servers = {
-- lemminx = {
-- init_options = {
-- settings = {
-- xml = {
-- format = {
-- enabled = true,
-- splitAttributes = false,
-- },
-- validation = {
-- noGrammar = "ignore",
-- },
-- },
-- },
-- },
-- },
-- },
-- },
-- }
--
return {
"neovim/nvim-lspconfig",
opts = {
servers = {
lemminx = {
init_options = {
settings = {
xml = {
format = {
enabled = true,
splitAttributes = false,
},
validation = {
noGrammar = "ignore",
},
},
},
},
},
},
},
"neovim/nvim-lspconfig",
opts = {
servers = {
lemminx = {
init_options = {
settings = {
xml = {
format = {
enabled = true,
enforceQuoteStyle = "preferred",
maxLineWidth = 140,
splitAttributes = "preserve",
preserveAttributeLineBreaks = true,
-- respect new lines
preservedNewlines = 2,
joinContentLines = false,
experimental = true,
},
preferences = {
quoteStyle = "double",
},
validation = {
noGrammar = "ignore",
},
},
},
},
},
},
},
}

View File

@@ -20,7 +20,7 @@ return {
"shfmt",
-- go
"goimports",
"gofumpt"
"gofumpt",
},
},
}

View File

@@ -52,16 +52,16 @@ return {
explorer = { cycle = false, layout = { preset = "sidebar" } },
buffers = { layout = { preset = "vs_search" } },
lines = { main = { current = false }, layout = { preset = "vs_search" } },
diagnostics = { layout = { preset = "vs_search" } },
diagnostics = { layout = { preset = "vs_search" }, hidden=true },
diagnostics_buffer = { layout = { preset = "vs_search" } },
git_status = { ignored = false },
grep = { ignored = false, hidden = false, exclude = { "*.po", " *.pot" } },
todo_comments = { ignored = false, hidden = false },
lsp_symbols = {layout = {preset = "lsp_telescope" }},
lsp_symbols = { layout = { preset = "lsp_telescope" } },
files = {
hidden = true,
ignored = true,
exclude = { "venvs/*", "*.pyc", "*.po" ,"node_modules/*", "bundle/*"},
exclude = { "venvs/*", "*.pyc", "*.po", "node_modules/*", "bundle/*" },
layout = { preset = "file_telescope" },
},
},

View File

@@ -4,11 +4,13 @@ return {
opts = {
spec = {
{ "<leader>cL", "<cmd>LspRestart<CR>", icon = "󰝳" },
{ "<leader>`", hidden = true },
{ "<leader>-", hidden = true },
},
win = {
no_overlap = false,
},
preset = 'modern'
preset = "modern",
},
},
}

View File

@@ -15,7 +15,6 @@ if grep -qEi "(Microsoft|WSL)" /proc/version &> /dev/null; then
else
alias wezterm='wezterm' # Or point to native binary if needed
fi
alias docker='sudo docker'
alias lg='lazygit'
# [Odoo]
alias erp-dev='cd ~/workspace/pg/erp/'