mirror of
https://github.com/dwinkler1/nvimConfig.git
synced 2026-08-22 17:43:13 -04:00
fix: address review findings (C1/C3/H1/H2/H5 + M1)
Tackles the critical and high-impact findings from the in-PR review of commit7f01be5, plus one consistency fix (M1). All changes are scoped to the same review branch (PR #12); no behavior changes elsewhere. Critical fixes * C1 -- plugin/22_languages.lua: now does `local Config = require('config')` at the top, matching every other `plugin/*.lua` file. Previously the file referenced `Config` as a global, depending on `_G.Config` having been initialized by `init.lua` before this file loaded. Fragile. * C2 -- plugin/04_treesitter.lua: removed the hard `<CR>` -> `smart_send.send_repl` mapping. Override `<CR>` from a per-buffer `ftplugin/<lang>.lua` if you want enter-to-send behavior. R.nvim's `<Plug>RDSendLine` (wired by `ftplugin/r.lua`) remains the default for R files and is no longer silently clobbered. High-impact fixes * C3 -- plugin/27_image.lua: `image.setup({ backend = "kitty" })` -> `backend = "auto"`. The previous value silently failed on every terminal that is not Kitty. `"auto"` delegates detection to image.nvim. * H1 -- plugin/10_keymap.lua: `_G.Config = Config` removed from this file; `init.lua:2` remains the single source. Avoids drift between two aliasing sites. * H2 -- plugin/25_lsp.lua: `texlab = { single_file_support = true }`, so single-file `.tex` buffers attach the LSP without lspconfig's sometimes-brittle root_dir heuristic. * H5 -- plugin/04_treesitter.lua: also drops `<S-CR>` from `M.setup_keybindings` on the same principle as C2. `<S-CR>` was a hard implicit override in both normal and insert mode, where it collided with snippet and transient-state plugins. Consistency fixes * M1 -- plugin/01_lib.lua: `print(line)` in `Config.execute_lua_line` switched to `vim.notify(line, vim.log.levels.INFO)`, matching the print->notify cleanup in `plugin/04_treesitter.lua` from7f01be5. Files: 6 modified. +21 / -11. Local verification 1. `luac -p plugin/{22_languages,27_image,10_keymap,25_lsp,04_treesitter,01_lib}.lua` 2. `nvim --headless -u NONE -l tests/init.lua` 3. Open a R / quarto / tex buffer; verify `<CR>` is no longer hijacked by `smart_send` and behaves like the filetype default. For reviewers * The text-object configuration in plugin/04_treesitter.lua's textobjects block is unchanged. H4 (`@assignment.*` queries may not be defined for R) is left for a follow-up with verification. * yamlls GitHub-rawURL schema dependency (H3) is left intentionally -- vendoring the schemas is a separate decision. * Tests (T1-T6 from the review) are deferred; no test infrastructure exists beyond `tests/init.lua`.
This commit is contained in:
parent
7f01be59d7
commit
df2f776d3f
6 changed files with 21 additions and 11 deletions
|
|
@ -34,7 +34,7 @@ end
|
|||
Config.execute_lua_line = function()
|
||||
local line = 'lua ' .. vim.api.nvim_get_current_line()
|
||||
vim.api.nvim_command(line)
|
||||
print(line)
|
||||
vim.notify(line, vim.log.levels.INFO)
|
||||
vim.api.nvim_input('<Down>')
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -121,11 +121,17 @@ function M.setup_keybindings(global_nodes)
|
|||
vim.keymap.set('n', '<localleader>a', function() smart_send.send_repl(current_global_nodes) end,
|
||||
{ noremap = true, silent = true, desc = "Send node to REPL", buffer = true })
|
||||
|
||||
vim.keymap.set({ 'n', 'i' }, '<S-CR>', function() smart_send.send_repl(current_global_nodes) end,
|
||||
{ noremap = true, silent = true, desc = "Send node to REPL", buffer = true })
|
||||
|
||||
vim.keymap.set('n', '<CR>', function() smart_send.send_repl(current_global_nodes) end,
|
||||
{ noremap = true, silent = true, desc = "Send node to REPL", buffer = true })
|
||||
-- Both `<CR>` and `<S-CR>` were removed from `M.setup_keybindings`. They
|
||||
-- were hard, implicit overrides that clobbered Vim/filetype defaults and
|
||||
-- the user's snippet + insert-mode workflows (see C2 + H5 in the PR
|
||||
-- review). To opt back in for a specific filetype, override per-buffer
|
||||
-- from a `ftplugin/<lang>.lua`:
|
||||
--
|
||||
-- -- e.g. ftplugin/r.lua or ftplugin/quarto.lua
|
||||
-- vim.keymap.set('n', '<CR>', function()
|
||||
-- require('config').treesitter_helpers.setup_keybindings(global_nodes)
|
||||
-- require('nix_smart_send').send_repl(global_nodes)
|
||||
-- end, { buffer = true, desc = 'Send node to REPL' })
|
||||
|
||||
vim.keymap.set('n', '<localleader>n',
|
||||
function() current_global_nodes = M.add_global_node(current_global_nodes) end,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ require('keymap.core')
|
|||
require('keymap.leader')
|
||||
require('keymap.terminal')
|
||||
|
||||
-- Re-export the shared config table for backwards compatibility with any
|
||||
-- external code or keymap strings that still reference the global `Config`.
|
||||
_G.Config = Config
|
||||
-- `_G.Config` is set by `init.lua:2` once at start-up; no need to re-export
|
||||
-- here. The single source of truth is `init.lua` so future refactors don't
|
||||
-- have to chase which file currently publishes the alias.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
local Config = require('config')
|
||||
|
||||
local add = Config.add
|
||||
local now_if_args = Config.now_if_args
|
||||
local later = MiniDeps.later
|
||||
|
|
|
|||
|
|
@ -50,7 +50,9 @@ now_if_args(function()
|
|||
},
|
||||
},
|
||||
},
|
||||
texlab = {},
|
||||
texlab = {
|
||||
single_file_support = true,
|
||||
},
|
||||
julials = {
|
||||
settings = {
|
||||
julia = {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ later(function()
|
|||
end
|
||||
|
||||
image.setup({
|
||||
backend = "kitty",
|
||||
backend = "auto",
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
|
|
|
|||
Loading…
Reference in a new issue