From b969d655403f90615da32eb4884776bf44dd2f82 Mon Sep 17 00:00:00 2001 From: Tovi Jaeschke-Rogers Date: Thu, 22 Jan 2026 14:16:53 +1030 Subject: [PATCH] feat: things --- .config/lazysql/config.toml | 10 ------ .config/lazysql/history/local.json | 10 ------ .config/nvim/lua/core/autocmd.lua | 40 ++++++++++++++++++++++- .config/nvim/lua/core/remaps.lua | 10 ++++++ .config/nvim/lua/lsp/servers/sqls.lua | 14 ++++++++ .config/nvim/lua/plugins/conform_nvim.lua | 3 +- .config/nvim/lua/plugins/mini_pick.lua | 7 ++++ .gitignore | 1 + .tmux.conf | 8 +++++ 9 files changed, 81 insertions(+), 22 deletions(-) delete mode 100644 .config/lazysql/config.toml delete mode 100644 .config/lazysql/history/local.json create mode 100644 .config/nvim/lua/lsp/servers/sqls.lua diff --git a/.config/lazysql/config.toml b/.config/lazysql/config.toml deleted file mode 100644 index 560f53e..0000000 --- a/.config/lazysql/config.toml +++ /dev/null @@ -1,10 +0,0 @@ -[[database]] -Name = 'Local' -Provider = 'mysql' -DBName = 'jack' -URL = 'mysql://jack:secret@localhost:33061/jack' - -[application] -DefaultPageSize = 300 -DisableSidebar = true -SidebarOverlay = false diff --git a/.config/lazysql/history/local.json b/.config/lazysql/history/local.json deleted file mode 100644 index f8b0348..0000000 --- a/.config/lazysql/history/local.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "QueryText": "SELECT * FROM `jack`.`users` WHERE true = true LIMIT 0, 300", - "Timestamp": "2026-01-02T01:28:34.964780276Z" - }, - { - "QueryText": "SELECT * FROM `jack`.`users` WHERE id = 1 LIMIT 0, 300", - "Timestamp": "2026-01-02T01:27:13.955906205Z" - } -] \ No newline at end of file diff --git a/.config/nvim/lua/core/autocmd.lua b/.config/nvim/lua/core/autocmd.lua index 99113b2..4b90fab 100644 --- a/.config/nvim/lua/core/autocmd.lua +++ b/.config/nvim/lua/core/autocmd.lua @@ -72,7 +72,45 @@ vim.api.nvim_create_autocmd({ 'BufReadPost' }, { vim.api.nvim_create_autocmd({ 'TextYankPost' }, { group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }), callback = function() - vim.hl.on_yank { higroup = "YankColor", timeout = 250 } + vim.hl.on_yank({ timeout = 250 }) end }) +vim.api.nvim_create_autocmd('BufWritePre', { + callback = function() + local dir = vim.fn.expand(':p:h') + if vim.fn.isdirectory(dir) == 0 then + vim.fn.mkdir(dir, 'p') + end + end, +}) + +-- Better indentation for PHP arrays +vim.api.nvim_create_autocmd('FileType', { + pattern = 'php', + callback = function() + vim.opt_local.indentkeys:remove('0#') + end, +}) + +-- Enable spell check for markdown and git commits +vim.api.nvim_create_autocmd('FileType', { + pattern = {'markdown', 'gitcommit'}, + callback = function() + vim.opt_local.spell = true + vim.opt_local.spelllang = 'en_us' + end, +}) + +-- Auto-close unused buffers after 20 minutes +vim.api.nvim_create_autocmd('BufHidden', { + callback = function(event) + if vim.bo[event.buf].buftype == '' then + vim.defer_fn(function() + if vim.api.nvim_buf_is_valid(event.buf) and not vim.api.nvim_buf_is_loaded(event.buf) then + vim.api.nvim_buf_delete(event.buf, { force = false }) + end + end, 1200000) -- 20 minutes + end + end, +}) diff --git a/.config/nvim/lua/core/remaps.lua b/.config/nvim/lua/core/remaps.lua index 6b45734..5b9ef69 100644 --- a/.config/nvim/lua/core/remaps.lua +++ b/.config/nvim/lua/core/remaps.lua @@ -119,6 +119,16 @@ vim.keymap.set( vim.keymap.set("t", "", "", { silent = true }) +-- Close buffer without closing window +vim.keymap.set('n', 'bd', ':bpspbnbd') + +-- Quick buffer switching +vim.keymap.set('n', 'bn', ':bnext') +vim.keymap.set('n', 'bN', ':bprevious') + +-- Close all buffers except current +vim.keymap.set('n', 'bo', ':%bd|e#|bd#') + vim.keymap.set("n", "e", function() vim.cmd("edit notes.ignore.md") end) vim.keymap.set("n", ".a", function() vim.cmd("edit app/api/.env") end) vim.keymap.set("n", ".f", function() vim.cmd("edit app/frontend/.env.development.local") end) diff --git a/.config/nvim/lua/lsp/servers/sqls.lua b/.config/nvim/lua/lsp/servers/sqls.lua new file mode 100644 index 0000000..15c055a --- /dev/null +++ b/.config/nvim/lua/lsp/servers/sqls.lua @@ -0,0 +1,14 @@ +return { + settings = { + sqls = { + connections = { + -- Add your database connections here if needed + -- Example: + -- { + -- driver = 'postgresql', + -- dataSourceName = 'host=127.0.0.1 port=5432 user=postgres password=password dbname=mydb sslmode=disable', + -- }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/conform_nvim.lua b/.config/nvim/lua/plugins/conform_nvim.lua index 21c2659..b99891a 100644 --- a/.config/nvim/lua/plugins/conform_nvim.lua +++ b/.config/nvim/lua/plugins/conform_nvim.lua @@ -21,7 +21,8 @@ M.setup = function() shell = { "shfmt", "shellcheck" }, python = { "isort", "black" }, php = { "phpcbf", "php_cs_fixer" }, - blade = { "blade-formatter" } + blade = { "blade-formatter" }, + sql = { "sqlfluff" } }, log_level = vim.log.levels.WARN, notify_on_error = false, diff --git a/.config/nvim/lua/plugins/mini_pick.lua b/.config/nvim/lua/plugins/mini_pick.lua index 69164dd..1781e59 100644 --- a/.config/nvim/lua/plugins/mini_pick.lua +++ b/.config/nvim/lua/plugins/mini_pick.lua @@ -95,13 +95,20 @@ M.setup = function() pick.builtin.files() end, { desc = 'Pick Files' }) + -- Keybind for grep vim.keymap.set('n', 'f', function() pick.builtin.grep_live() end, { desc = 'Pick Search' }) + -- Keybind for help vim.keymap.set('n', 'H', function() pick.builtin.help() end, { desc = 'Pick Help' }) + + -- Keybind for buffers + vim.keymap.set('n', 'bb', function() + pick.builtin.buffers() + end, { desc = 'Pick Files' }) end return M diff --git a/.gitignore b/.gitignore index 68693e4..caccd30 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .config/zsh/.zsh_history .config/zsh/.zcompdump .config/zsh/.api-keys +.config/lazysql diff --git a/.tmux.conf b/.tmux.conf index e8cf919..464c954 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -108,3 +108,11 @@ if "test ! -d ~/.tmux/plugins/tpm" \ # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' + +# Status bar customization - centered tabs, session name on right +set -g status-justify centre +set -g status-left "" +set -g status-right "" + +set -g window-status-format '#I:#W' +set -g window-status-current-format '#[fg=black,bg=yellow] #I:#W #[default]'