Skip to content

Conversation

@NobbZ
Copy link
Owner

@NobbZ NobbZ commented Nov 16, 2025

Summary by CodeRabbit

  • New Features
    • Integrated bigfile plugin for enhanced performance with large files (512+ MiB). Automatically disables resource-intensive features including syntax highlighting, LSP, treesitter, and indent guides for improved responsiveness when editing large files.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 16, 2025

Walkthrough

The bigfile.nvim plugin is integrated into the Nobbz Neovim configuration. It adds lazy-loading on DeferredUIEnter with a 512 MiB threshold, disabling features like LSP, treesitter, and syntax highlighting for large files. Changes span the Nix package declaration, a new Lua configuration module, and registration in the main init.

Changes

Cohort / File(s) Summary
Bigfile Plugin Integration
nvim.nix, plugins/nobbz/lua/nobbz/bigfile.lua, plugins/nobbz/lua/nobbz/init.lua
Added bigfile-nvim plugin to Nix dependencies, created lazy-loading configuration module disabling performance-sensitive features for files exceeding 512 MiB, and registered the module via rs("bigfile") in init.lua.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Verify the 512 MiB threshold and disabled feature list align with intended behavior
  • Check that lazy-loading on DeferredUIEnter integrates correctly with existing plugin lifecycle
  • Confirm Nix dependency declaration matches the Lua module configuration

Possibly related PRs

  • add neovide #44: Adds rs("neovide") to init.lua using the same submodule loading pattern as this PR's rs("bigfile").
  • add lspsaga #40: Modifies init.lua to add rs("lspsaga") and reorder submodule requires, following the same pattern of registering new plugin modules.
  • more lazy loading #35: Integrates multiple plugins using the same lazy-loading mechanism via nobbz.lazy.add_specs.

Poem

🐰 Big files need not grieve or pine,
Features pause at 512's line,
With bigfile now keeping watch,
No syntax lag will botch,
Swift editing, perfectly fine! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'add bigfile.nvim' directly and clearly describes the main change: adding the bigfile.nvim plugin to the Neovim configuration.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch push-wzyvlqyokpxk

Tip

📝 Customizable high-level summaries are now available!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide custom instructions to shape the summary (bullet lists, tables, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example:

"Create a concise high-level summary as a bullet-point list. Then include a Markdown table showing lines added and removed by each contributing author."


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds the bigfile.nvim plugin to improve editor performance when working with large files by automatically disabling resource-intensive features like LSP, treesitter, and syntax highlighting for files larger than 512 MiB.

Key changes:

  • Integrates bigfile.nvim plugin with configuration to disable features for large files
  • Adds the plugin to the Nix package dependencies
  • Loads the bigfile module early in the initialization sequence

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
plugins/nobbz/lua/nobbz/init.lua Adds early loading of bigfile module before other editor features
plugins/nobbz/lua/nobbz/bigfile.lua Configures bigfile.nvim with 512 MiB threshold and disables multiple features for performance
nvim.nix Adds bigfile-nvim package dependency to the Nix build configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
plugins/nobbz/lua/nobbz/bigfile.lua (1)

7-7: Improve comment clarity.

The comment referencing <### Overriding the detection of big files> appears to be copied from documentation and is not helpful in this context.

Apply this diff to improve the comment:

-    pattern = { "*", }, -- autocmd pattern or function see <### Overriding the detection of big files>
+    pattern = { "*" }, -- apply to all files
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6cbf8d2 and 72d4da5.

📒 Files selected for processing (3)
  • nvim.nix (1 hunks)
  • plugins/nobbz/lua/nobbz/bigfile.lua (1 hunks)
  • plugins/nobbz/lua/nobbz/init.lua (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
plugins/**/*.lua

⚙️ CodeRabbit configuration file

plugins/**/*.lua: Please ensure all of the following:

  • Plugins are lazyloaded if possible through nobbz.lazy
  • local has to be used
  • coding follows the luarocks styleguide, but with 2 spaces indentation

Files:

  • plugins/nobbz/lua/nobbz/bigfile.lua
  • plugins/nobbz/lua/nobbz/init.lua
🧠 Learnings (2)
📓 Common learnings
Learnt from: NobbZ
Repo: NobbZ/nobbz-vim PR: 0
File: :0-0
Timestamp: 2025-04-12T09:24:45.451Z
Learning: NobbZ uses a homebrewn shallow abstraction over `lz.n` rather than using lazy.nvim directly. References to Lazy.nvim's specific features should be avoided in reviews of NobbZ's repository.
📚 Learning: 2025-04-12T09:24:45.451Z
Learnt from: NobbZ
Repo: NobbZ/nobbz-vim PR: 0
File: :0-0
Timestamp: 2025-04-12T09:24:45.451Z
Learning: NobbZ uses a homebrewn shallow abstraction over `lz.n` rather than using lazy.nvim directly. References to Lazy.nvim's specific features should be avoided in reviews of NobbZ's repository.

Applied to files:

  • plugins/nobbz/lua/nobbz/bigfile.lua
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Agent
🔇 Additional comments (2)
plugins/nobbz/lua/nobbz/init.lua (1)

34-34: LGTM!

The submodule load follows the existing pattern correctly and is positioned appropriately among the other submodule loads.

plugins/nobbz/lua/nobbz/bigfile.lua (1)

5-18: I need to identify which bigfile.nvim is used in the codebase. Let me check the plugin configuration and dependencies.

Based on my research, the documented default features for bigfile.nvim are: "indent_blankline", "illuminate", "lsp", "treesitter", "syntax", "matchparen", "vimopts", and "filetype". The configuration in the review exactly matches these documented feature names from LunarVim/bigfile.nvim.

All feature names in the code are valid and correctly correspond to the plugin's API. No invalid feature names were found.

@NobbZ NobbZ merged commit 1c97bc8 into main Nov 16, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants