Skip to content

More cowbell#1

Merged
TheOnliestMattastic merged 3 commits into
masterfrom
More-Cowbell
Dec 21, 2025
Merged

More cowbell#1
TheOnliestMattastic merged 3 commits into
masterfrom
More-Cowbell

Conversation

@TheOnliestMattastic
Copy link
Copy Markdown
Owner

@TheOnliestMattastic TheOnliestMattastic commented Dec 20, 2025

PR Type

Enhancement, Bug fix


Description

  • Add virtual text diagnostics toggle keymap with notification feedback

  • Fix blink.cmp completion selection configuration structure

  • Expand formatter support across multiple languages and file types

  • Enable LSP inlay hints for function parameters and type information

  • Add clangd configuration with inlay hints support

  • Auto-install additional formatters via mason-tool-installer

  • Comment out stylua CI test step temporarily


Diagram Walkthrough

flowchart LR
  A["Keymaps"] -->|"Add diagnostics toggle"| B["Virtual Text Toggle"]
  C["Blink.cmp Config"] -->|"Fix selection structure"| D["Proper Table Config"]
  E["Conform Config"] -->|"Expand formatters"| F["Multi-language Support"]
  G["LSP Config"] -->|"Enable inlay hints"| H["Parameter/Type Hints"]
  G -->|"Add clangd config"| I["C/C++ Support"]
  J["Mason Tools"] -->|"Auto-install"| K["Formatters"]
  L["CI Workflow"] -->|"Comment out"| M["Stylua Test"]
Loading

File Walkthrough

Relevant files
Enhancement
keymaps.lua
Add virtual text diagnostics toggle keymap                             

lua/config/keymaps.lua

  • Add new keymap uv to toggle virtual text diagnostics on/off
  • Uses vim.diagnostic.config() to toggle virtual_text state
  • Provides user feedback via Snacks.notify.info() showing
    enabled/disabled status
  • Includes detailed comments explaining what, why, and how
+16/-0   
conform.lua
Expand formatter support across multiple languages             

lua/plugins/conform.lua

  • Expand formatter configuration to support 15+ file types and languages
  • Add formatters for web (prettier), Python (black), shell (shfmt),
    C/C++ (clang-format), Go (gofmt), Rust (rustfmt)
  • Organize formatters by language category with comments
  • Use stylua ignore directives to preserve formatting alignment
+37/-5   
lsp.lua
Enable inlay hints and add clangd configuration                   

lua/plugins/lsp.lua

  • Enable LSP inlay hints for function parameters and type information
  • Add clangd server configuration with inlay hints enabled
  • Expand mason-tool-installer to auto-install multiple formatters
    (prettier, black, shfmt, clang-format)
  • Fix indentation in LspDetach autocmd callback
+35/-15 
Bug fix
blink-cmp.lua
Fix blink.cmp completion selection configuration                 

lua/plugins/blink-cmp.lua

  • Fix completion list selection configuration from string to proper
    table structure
  • Add preselect = true to automatically select first completion item
  • Add auto_insert = true to automatically insert selected item
  • Improves completion workflow speed and fixes validation error
+7/-0     
Configuration changes
lint-and-test.yml
Comment out stylua CI test steps                                                 

.github/workflows/lint-and-test.yml

  • Comment out stylua installation step in CI workflow
  • Comment out stylua formatter check step
  • Temporarily disables Lua formatter validation in CI pipeline
+10/-10 
Documentation
KEYMAPS.md
Document virtual text diagnostics toggle keymap                   

KEYMAPS.md

  • Add documentation for new uv keymap
  • Document toggle virtual text diagnostics functionality
+1/-0     
Dependencies
lazy-lock.json
Update plugin lock file versions                                                 

lazy-lock.json

  • Update conform.nvim commit hash
  • Update nvim-lspconfig commit hash
+2/-2     

- Change selection from string to proper table structure with preselect and auto_insert
- Fixes validation error in blink.cmp config
@continue
Copy link
Copy Markdown

continue Bot commented Dec 20, 2025

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts


Unsubscribe from All Green comments

@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

🔴
Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Risky autocmd logic: The new LspAttach callback adds inlay-hint enablement and LspDetach autocmd code with
mismatched indentation/structure and no guards for API availability, which can cause
runtime errors or broken autocmd behavior.

Referred Code
 group = vim.api.nvim_create_augroup(
   'hyperfix-lsp-detach',
   { clear = true }
 ),
 callback = function(event2)
   vim.lsp.buf.clear_references()
   vim.api.nvim_clear_autocmds({
     group = 'hyperfix-lsp-highlight',
     buffer = event2.buf,
   })
 end,
})
end

-- Enable inlay hints (function parameters, types)
if client_supports_method(
client,
vim.lsp.protocol.Methods.textDocument_inlayHint,
event.buf
) then
vim.lsp.inlay_hint.enable(true, { bufnr = event.buf })


 ... (clipped 2 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Dec 21, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Preserve custom diagnostic settings on toggle

Refactor the diagnostic toggle to preserve custom virtual text settings by
storing the configuration in a variable before disabling and restoring it upon
re-enabling.

lua/config/keymaps.lua [177-184]

+local last_vtext_config = true -- Store last known virtual text config
+
 map('n', '<leader>uv', function()
-  local config = vim.diagnostic.config()
-  local vtext = config.virtual_text
-  -- Toggle: if enabled, disable; if disabled, enable with default settings
-  vim.diagnostic.config({ virtual_text = not vtext })
-  local status = not vtext and 'enabled' or 'disabled'
-  Snacks.notify.info('Virtual text diagnostics ' .. status)
+  local current_vtext = vim.diagnostic.config().virtual_text
+  if current_vtext then -- It's enabled (true or a table)
+    -- If it's a table, store it before disabling
+    if type(current_vtext) == 'table' then
+      last_vtext_config = current_vtext
+    end
+    vim.diagnostic.config({ virtual_text = false })
+    Snacks.notify.info('Virtual text diagnostics disabled')
+  else -- It's disabled (false or nil)
+    -- Re-enable with the last known config
+    vim.diagnostic.config({ virtual_text = last_vtext_config })
+    Snacks.notify.info('Virtual text diagnostics enabled')
+  end
 end, { desc = 'Toggle [V]irtual Text Diagnostics' })

[Suggestion processed]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a logical flaw in the new toggle feature where custom diagnostic settings would be lost, and it provides a robust solution to preserve them.

Medium
Add missing formatter to auto-install list

Add rustfmt to the ensure_installed list in mason-tool-installer to ensure it is
automatically installed, consistent with the new formatter configuration.

lua/plugins/lsp.lua [150-156]

 vim.list_extend(ensure_installed, {
   'stylua',        -- Lua formatter
   'prettier',      -- Web/Markdown formatter
   'black',         -- Python formatter
   'shfmt',         -- Shell formatter
   'clang-format',  -- C/C++ formatter
+  'rustfmt',       -- Rust formatter
 })

[Suggestion processed]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that the rustfmt formatter, configured in conform.lua, was omitted from the mason-tool-installer list, which would prevent it from being auto-installed.

Medium
Possible issue
Fix C/C++ formatter identifier

In lua/plugins/conform.lua, correct the C/C++ formatter name from clang_format
to clang-format to match the ID expected by conform.nvim.

lua/plugins/conform.lua [62-63]

-c               = { 'clang_format' },
-cpp             = { 'clang_format' },
+c               = { 'clang-format' },
+cpp             = { 'clang-format' },

[Suggestion processed]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a bug where the C/C++ formatter is misnamed as clang_format instead of clang-format, which would prevent the formatting feature from working for those languages.

Medium
  • More

Comment thread lua/plugins/lsp.lua
Comment thread lua/config/keymaps.lua
Comment thread lua/plugins/conform.lua
@TheOnliestMattastic TheOnliestMattastic merged commit 868e46e into master Dec 21, 2025
2 checks passed
@TheOnliestMattastic TheOnliestMattastic deleted the More-Cowbell branch December 21, 2025 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant