Can't install nvim-java / nvim-jdtls behind a corporate proxy (Lombok jar download blocked)
(Need Help)
Hey everyone,
I’m trying to install nvim-java (or nvim-jdtls) on a work machine that’s behind a restricted corporate proxy. The installation process fails because it tries to download a file from: https://projectlombok.com/lombok-edge.jar
Unfortunately, the proxy blocks that request, so the setup never completes, the error message is like this:
https://preview.redd.it/iy7kyo1bbbwf1.png?width=877format=pngauto=webps=e6a9c7e069fd21cb9da3f78121a7d3c5fe0b55b3
The reason is a proxy block.
I already have a Lombok jar that I use for my Java projects — it’s the same one that the installer tries to fetch.
My question is: is there a way to manually link or point nvim-java to a local Lombok jar, so it skips the download step?
I’ve tried looking through the plugin’s docs and config options, but couldn’t find anything related to overriding or pre-downloading dependencies.
Has anyone run into this issue before or found a workaround (maybe a local path config or environment variable)?
and this is the configuration
https://preview.redd.it/5cfpemk2f0wf1.png?width=432format=pngauto=webps=c02fd17ee9d327978e78acb36f22a477d0336180
Any help would be really appreciated!
https://redd.it/1obq1tr
@r_neovim
  (Need Help)
Hey everyone,
I’m trying to install nvim-java (or nvim-jdtls) on a work machine that’s behind a restricted corporate proxy. The installation process fails because it tries to download a file from: https://projectlombok.com/lombok-edge.jar
Unfortunately, the proxy blocks that request, so the setup never completes, the error message is like this:
https://preview.redd.it/iy7kyo1bbbwf1.png?width=877format=pngauto=webps=e6a9c7e069fd21cb9da3f78121a7d3c5fe0b55b3
The reason is a proxy block.
I already have a Lombok jar that I use for my Java projects — it’s the same one that the installer tries to fetch.
My question is: is there a way to manually link or point nvim-java to a local Lombok jar, so it skips the download step?
I’ve tried looking through the plugin’s docs and config options, but couldn’t find anything related to overriding or pre-downloading dependencies.
Has anyone run into this issue before or found a workaround (maybe a local path config or environment variable)?
and this is the configuration
https://preview.redd.it/5cfpemk2f0wf1.png?width=432format=pngauto=webps=c02fd17ee9d327978e78acb36f22a477d0336180
Any help would be really appreciated!
https://redd.it/1obq1tr
@r_neovim
Make Vim macros fun to work with
https://pawelgrzybek.com/make-vim-macros-fun-to-work-with/
(Blog Post)
https://redd.it/1oc95qc
@r_neovim
  
  https://pawelgrzybek.com/make-vim-macros-fun-to-work-with/
(Blog Post)
https://redd.it/1oc95qc
@r_neovim
pawelgrzybek.com
  
  Make Vim macros fun to work with | pawelgrzybek.com
  Vim is a superb tool for repeating changes. The dot command and macros are insanely powerful, but it is worth knowing a few little tricks to work with them efficiently.
  re: treesitter diagnostics
(Discussion)
Sometimes it would be quite nice to get treesitter ERROR or MISSING nodes to display clearly (like diagnostics).
Unfortunately I can't comment on this previous thread where there was a comment indicating this might be easier to implement in neovim 0.11 compared to before. https://www.reddit.com/r/neovim/comments/1ir069p/comment/ml8h1do/
Does anyone have any knowledge how to achieve this? Or other clever/simple ways to quicken the feedback loop. :)
To be a bit more concrete: I want to more quickly find simple mistakes in my verilog code (like missing commas)
https://redd.it/1ocpmpu
@r_neovim
  
  (Discussion)
Sometimes it would be quite nice to get treesitter ERROR or MISSING nodes to display clearly (like diagnostics).
Unfortunately I can't comment on this previous thread where there was a comment indicating this might be easier to implement in neovim 0.11 compared to before. https://www.reddit.com/r/neovim/comments/1ir069p/comment/ml8h1do/
Does anyone have any knowledge how to achieve this? Or other clever/simple ways to quicken the feedback loop. :)
To be a bit more concrete: I want to more quickly find simple mistakes in my verilog code (like missing commas)
https://redd.it/1ocpmpu
@r_neovim
Reddit
  
  sashag90's comment on "treesitter diagnostics"
  Explore this conversation and more from the neovim community
  nightingale.nvim – A warm, comfortable dark theme ported from VS Code
https://redd.it/1ocxst0
@r_neovim
  https://redd.it/1ocxst0
@r_neovim
fugitive-delta.nvim: Helpful diffs hint for fugitive
https://youtu.be/bLg0WqNUX5Y
(Plugin)
Brings delta changes highlighting to vim-fugitive buffers. Uses delta to highlight the exact differences between two lines.
Repository
https://redd.it/1oce6ub
@r_neovim
  
  https://youtu.be/bLg0WqNUX5Y
(Plugin)
Brings delta changes highlighting to vim-fugitive buffers. Uses delta to highlight the exact differences between two lines.
Repository
https://redd.it/1oce6ub
@r_neovim
YouTube
  
  Neovim fugitive git delta plugin demo
  Neovim plugin demo video for fugitive-delta.nvim.
https://github.com/ farhanmustar/fugitive-delta.nvim
It integrates git-delta highlight capability in vim-fugitive buffer.
  https://github.com/ farhanmustar/fugitive-delta.nvim
It integrates git-delta highlight capability in vim-fugitive buffer.
nvim-dap-envfile: envFile support for nvim-dap
https://github.com/ravsii/nvim-dap-envfile
(Plugin)
Hello. Recently at work, we started migrating to
After a bit of research, I found out that
It’s quite simple, but I didn’t want to copy the "read, parse, and inject envs" code into every project/config. Hope it’ll be useful to someone.
https://redd.it/1ocn0qa
@r_neovim
  
  https://github.com/ravsii/nvim-dap-envfile
(Plugin)
Hello. Recently at work, we started migrating to
.env files for credentials.After a bit of research, I found out that
envFile field in dap configurations is not supported by nvim-dap by default and is actually a VSCode-specific feature. So I decided to build this plugin, - after all, what better plugin is there than the one you make for yourself?It’s quite simple, but I didn’t want to copy the "read, parse, and inject envs" code into every project/config. Hope it’ll be useful to someone.
https://redd.it/1ocn0qa
@r_neovim
GitHub
  
  GitHub - ravsii/nvim-dap-envfile: Support for envFile expanding for nvim-dap configurations
  Support for envFile expanding for nvim-dap configurations - ravsii/nvim-dap-envfile
  Neovide, terminal emulators and terminal multiplexers
(Need Help)
My current workflow involves using \
Can a similar level of performance and smoothness be achieved in Ghostty or other terminal emulators? I assumed that would be the case since they're both GPU accelerated, but somehow it still feels like its on a different league of its own. Like comparing 30 FPS to 120 FPS or something like that. What's Neovide's secret sauce and am I crazy for considering using Neovide as hacky terminal emulator?
https://redd.it/1ocivxg
@r_neovim
  
  (Need Help)
My current workflow involves using \
nvim\  with \tmux\ as a multiplexer and \Ghostty\ as the terminal emulator. However, I installed Neovide a while ago and every once in a while I use it to open and edit a random file from a GUI file browser. Every time I do I'm astonished at how smooth and satisfying it feels to use compared to the terminal emulator. I'm not sure if its just a framerate difference or what, but it's a night and day experience. I find myself wishing I could just use Neovide all the time, but I think I would have to run \tmux\ inside of a \nvim\ terminal to be able to manage sessions and that seems a little insane.Can a similar level of performance and smoothness be achieved in Ghostty or other terminal emulators? I assumed that would be the case since they're both GPU accelerated, but somehow it still feels like its on a different league of its own. Like comparing 30 FPS to 120 FPS or something like that. What's Neovide's secret sauce and am I crazy for considering using Neovide as hacky terminal emulator?
https://redd.it/1ocivxg
@r_neovim
Reddit
  
  From the neovim community on Reddit
  Explore this post and more from the neovim community
  How does oil.nvim work under the hood?
(Random)
Been using oil.nvim for a bit and I am curious as to how it actually knows when/where to put files, particularly when you remove a file from one directory and place it in a completely new directory. Is it possible to operate between two panels using oil.nvim (delete from one panel, move the cursor to another pane, and paste a file in there, under a completely different and arbitrary directory?)
https://redd.it/1ocwdfn
@r_neovim
  
  (Random)
Been using oil.nvim for a bit and I am curious as to how it actually knows when/where to put files, particularly when you remove a file from one directory and place it in a completely new directory. Is it possible to operate between two panels using oil.nvim (delete from one panel, move the cursor to another pane, and paste a file in there, under a completely different and arbitrary directory?)
https://redd.it/1ocwdfn
@r_neovim
Reddit
  
  From the neovim community on Reddit
  Explore this post and more from the neovim community
  What is the current state of Markdown LSPs?
(Discussion)
I've been looking at migrating my notes to Neovim but it generally seems that the Markdown LSPs (markdown-oxide, marksman) are lacking some of their advertised functionality like ability to rename a reference globally within the directory and compatibility with newer Neovim LSP features. Has anyone used markdown LSPs in newer Neovim? I'm aware about obsidian.nvim as well but I would like something a bit more stripped down so I can write some nice Lua to do fancier things.
https://redd.it/1ode034
@r_neovim
  
  (Discussion)
I've been looking at migrating my notes to Neovim but it generally seems that the Markdown LSPs (markdown-oxide, marksman) are lacking some of their advertised functionality like ability to rename a reference globally within the directory and compatibility with newer Neovim LSP features. Has anyone used markdown LSPs in newer Neovim? I'm aware about obsidian.nvim as well but I would like something a bit more stripped down so I can write some nice Lua to do fancier things.
https://redd.it/1ode034
@r_neovim
Reddit
  
  From the neovim community on Reddit
  Explore this post and more from the neovim community
  smart-nav.nvim - Semantic navigation
(Plugin)
TL;DR
* Made a plugin that lets you jump to meaningful code positions with a single keypress
* Started as a way to quickly hop outside brackets/parentheses without multiple keys
* Expanded it to jump between important syntax symbols/snippet tabstops, etc.
* Uses Treesitter for smarter navigation (configurable w node types)
* Still early; definitely has edge cases and bugs to fix
* Looking for feedback on whether it’s worth developing further
* Also curious if similar plugins already exist
* GitHub
This initially came about because I wanted a lazier way to hop myself to the outside of closing parenthesis, brackets, etc and instead of having to press different keys depending on the symbol, I wanted one key I could always use. It felt quite nice to use, so I took the idea further. Instead of simply navigating through brackets why not navigate through important syntax symbols, or through snippet tabstops.
This is what this plugin does. It's highly configurable. You can set which characters to hop before/after (or both), and using treesitter you can configure jump targets using node types. There are definitely a number of edge cases and bugs to figure out, and this is in its infancy, so feel free to contribute.
I just wanted to throw this out there to get some feedback and see if this is something worth developing further. I'm curious if others would actually find this useful, or if there are already similar plugins out there that I might've missed.
https://redd.it/1odggeu
@r_neovim
  
  (Plugin)
TL;DR
* Made a plugin that lets you jump to meaningful code positions with a single keypress
* Started as a way to quickly hop outside brackets/parentheses without multiple keys
* Expanded it to jump between important syntax symbols/snippet tabstops, etc.
* Uses Treesitter for smarter navigation (configurable w node types)
* Still early; definitely has edge cases and bugs to fix
* Looking for feedback on whether it’s worth developing further
* Also curious if similar plugins already exist
* GitHub
This initially came about because I wanted a lazier way to hop myself to the outside of closing parenthesis, brackets, etc and instead of having to press different keys depending on the symbol, I wanted one key I could always use. It felt quite nice to use, so I took the idea further. Instead of simply navigating through brackets why not navigate through important syntax symbols, or through snippet tabstops.
This is what this plugin does. It's highly configurable. You can set which characters to hop before/after (or both), and using treesitter you can configure jump targets using node types. There are definitely a number of edge cases and bugs to figure out, and this is in its infancy, so feel free to contribute.
I just wanted to throw this out there to get some feedback and see if this is something worth developing further. I'm curious if others would actually find this useful, or if there are already similar plugins out there that I might've missed.
https://redd.it/1odggeu
@r_neovim
GitHub
  
  GitHub - Sparkylc2/smart-nav.nvim: Tired of jumping out of closing brackets, or having to go into normal mode to jump to parameters?…
  Tired of jumping out of closing brackets, or having to go into normal mode to jump to parameters? Navigate to meaningful positions in your code with a single keystroke. Jumps after brackets, quotes...
  What colortheme do you use and why?
(Discussion)
I'm curious to know what colorscheme everyone is using and why?
I'm using tokyonight-moon because it was included in kickstarter xD.
https://redd.it/1odajn7
@r_neovim
  
  (Discussion)
I'm curious to know what colorscheme everyone is using and why?
I'm using tokyonight-moon because it was included in kickstarter xD.
https://redd.it/1odajn7
@r_neovim
Reddit
  
  From the neovim community on Reddit
  Explore this post and more from the neovim community
  Overcoming the distro/package manager crutch. These are my struggles
(Discussion)
I started my Neovim journey with distros 8+ years ago.
I hopped around for about 4 years before eventually paring down to nvchad's UI lib and Lazy.nvim with 70+ plugins loading in <70ms.
With all the shiny new stuff in v0.11 and nightly, I thought it a decent opportunity to try going minimal.
Plot twist: I'm basically recreating lazy.nvim, but worse.
I'm settling at about 20 plugins, my startup is... fine?
Not terrible, not the sub-50ms load times I was hoping for. I find myself manually doing some parts of what Lazy did.
That's not inherently bad, it's well made and popular for a reason. I'm just concerned about my bias to these config patterns because it's what I've known Lazy to do for me.
It leave's me wondering what lessons there are to learn here?
For the manual config masochists out there:
- How do you handle buffer-local keymaps for plugin windows?
- Some plugin's options will take a
- What's your lazy-loading strategy? Just autocmds? Some cursed combination of vim.defer_fn, vim.schedule, and prayer?
- Good plugins aren't supposed to affect startup. Do you do anything for the misbehaving ones that are too useful to let go?
- Do you profile, or just "feel" the speed?
Slightly related: Tried the single-file config for a bit. It was nice. Then I hit 1K lines and the LSP started crying.
Being intentional about folding helped navigate but I couldn't fold away my shame.
This was all an experiment that's close to becoming a main config. I know most of this doesn't matter, but it was a fun way to kill an evening or two.
I'm just hoping to take away a lesson from the collective wisdon out there. Thanks for reading =)
https://redd.it/1od9w5d
@r_neovim
  
  (Discussion)
I started my Neovim journey with distros 8+ years ago.
I hopped around for about 4 years before eventually paring down to nvchad's UI lib and Lazy.nvim with 70+ plugins loading in <70ms.
With all the shiny new stuff in v0.11 and nightly, I thought it a decent opportunity to try going minimal.
Plot twist: I'm basically recreating lazy.nvim, but worse.
I'm settling at about 20 plugins, my startup is... fine?
Not terrible, not the sub-50ms load times I was hoping for. I find myself manually doing some parts of what Lazy did.
That's not inherently bad, it's well made and popular for a reason. I'm just concerned about my bias to these config patterns because it's what I've known Lazy to do for me.
It leave's me wondering what lessons there are to learn here?
For the manual config masochists out there:
- How do you handle buffer-local keymaps for plugin windows?
- Some plugin's options will take a
keys map and do this for you, but what about the ones that dont?- What's your lazy-loading strategy? Just autocmds? Some cursed combination of vim.defer_fn, vim.schedule, and prayer?
- Good plugins aren't supposed to affect startup. Do you do anything for the misbehaving ones that are too useful to let go?
- Do you profile, or just "feel" the speed?
Slightly related: Tried the single-file config for a bit. It was nice. Then I hit 1K lines and the LSP started crying.
Being intentional about folding helped navigate but I couldn't fold away my shame.
This was all an experiment that's close to becoming a main config. I know most of this doesn't matter, but it was a fun way to kill an evening or two.
I'm just hoping to take away a lesson from the collective wisdon out there. Thanks for reading =)
https://redd.it/1od9w5d
@r_neovim
Reddit
  
  From the neovim community on Reddit
  Explore this post and more from the neovim community
  snacks.nvim v2.24.0 was just released
(Plugin)
Just made a new release of snacks.nvim including quite a lot of fixes and new features.
# Snacks.nvim v2.24.0 Release
## Highlights
### Picker Enhancements
- New Pickers:
-
-
-
- Git Improvements:
-
-
-
- Author filtering for git logs
- Better delta integration via diff previewer
- Configurable extra git args for all git sources
- Enhanced Features:
- Regex toggling for grep (
- Exact match highlighting in grep results
- Flexible filename formatting
- Enhanced resume with multi-state support
- Better LSP symbols with
- Customizable projects max depth
- Improved session manager support (AutoSession)
-
- Better vim.ui.select integration
### Image Rendering
- New Features:
- ICNS format support
- Base64 encoded images in URLs
- PDF page-specific rendering
-
- Bug Fixes:
- Better terminal detection
- Render fallback improvements for editor-relative positioning
- ENOENT handling in preview
- Hover close behavior in insert mode
- Markdown inline link queries
- LaTeX package parsing (skip comments and body)
### Window Layout
- Support for
- Static layouts now shrink to fit contents
- Configurable split window stacking
- Better layout configuration hooks
- Improved window allocation (at least 1 cell per widget)
- Width/height can now be functions
### Dashboard
- Optional
- Better recent files filtering with
- Improved terminal widget handling
- AutoSession command updates
- Better showtabline/laststatus restoration
- Improved cursor positioning
### Git Features
- Configurable extra git args for all git sources
- Better submodule support (always check parents for git root)
- Proper diff prefix handling (
- GitBrowse: Fixed GitLab URLs and commit options
### Explorer
- Improved file system watching (better handling of systems without filename events)
- Better mounted directory detection
- Git deletion handling for non-existent parent dirs
- Reset main when entering another window
### Other Notable Changes
- Terminal: UX improvements, better window validation, fixed
- Toggle: Customizable notifications via function
- Input: Custom highlight function support, better z-index handling
- Indent: Window-aware filter functions, better validation
- Bigfile: Disable mini-hipatterns integration, Windows support
- Lazygit: Extensible user args, better config file handling
- Notifier: Minimal style padding fixes, keep filtered notifications in history
- Scratch: Better branch handling, icon fixes
- Scroll: Don't animate 1-line scrolls, better buffer change detection
- Bufdelete: Try alternate buffer first
## Bug Fixes
This release includes 80+ bug fixes across all modules, with particular focus on:
- Picker: 30+ fixes including LSP request handling, preview scrolling, qflist items, marks buffer checking, and many more
- Image: Terminal detection, rendering fallbacks, hover behavior
- Dashboard: File filtering, cursor positioning, recent files display
- Explorer: File watching, mounted directories
- Git: Submodule handlin
  
  (Plugin)
Just made a new release of snacks.nvim including quite a lot of fixes and new features.
# Snacks.nvim v2.24.0 Release
## Highlights
### Picker Enhancements
- New Pickers:
-
scratch - Browse, grep, create and delete scratch files-
tags - Navigate ctags-
lsp_incoming_calls / lsp_outgoing_calls - Call hierarchy navigation- Git Improvements:
-
git_diff now supports base option for merge-base comparisons (great for viewing PR/branch changes)-
git_log now has live search with pickaxe (-S)-
git_restore action for git_status picker- Author filtering for git logs
- Better delta integration via diff previewer
- Configurable extra git args for all git sources
- Enhanced Features:
- Regex toggling for grep (
toggle_regex action)- Exact match highlighting in grep results
- Flexible filename formatting
- Enhanced resume with multi-state support
- Better LSP symbols with
keep_parents option- Customizable projects max depth
- Improved session manager support (AutoSession)
-
<c-g> mapped to print file path/cwd- Better vim.ui.select integration
### Image Rendering
- New Features:
- ICNS format support
- Base64 encoded images in URLs
- PDF page-specific rendering
-
Snacks.image.clear() function- Bug Fixes:
- Better terminal detection
- Render fallback improvements for editor-relative positioning
- ENOENT handling in preview
- Hover close behavior in insert mode
- Markdown inline link queries
- LaTeX package parsing (skip comments and body)
### Window Layout
- Support for
vim.o.winborder - all Snacks windows now respect this setting- Static layouts now shrink to fit contents
- Configurable split window stacking
- Better layout configuration hooks
- Improved window allocation (at least 1 cell per widget)
- Width/height can now be functions
### Dashboard
- Optional
filter function for projects- Better recent files filtering with
cwd option- Improved terminal widget handling
- AutoSession command updates
- Better showtabline/laststatus restoration
- Improved cursor positioning
### Git Features
- Configurable extra git args for all git sources
- Better submodule support (always check parents for git root)
- Proper diff prefix handling (
diff.noprefix=false)- GitBrowse: Fixed GitLab URLs and commit options
### Explorer
- Improved file system watching (better handling of systems without filename events)
- Better mounted directory detection
- Git deletion handling for non-existent parent dirs
- Reset main when entering another window
### Other Notable Changes
- Terminal: UX improvements, better window validation, fixed
position='current'- Toggle: Customizable notifications via function
- Input: Custom highlight function support, better z-index handling
- Indent: Window-aware filter functions, better validation
- Bigfile: Disable mini-hipatterns integration, Windows support
- Lazygit: Extensible user args, better config file handling
- Notifier: Minimal style padding fixes, keep filtered notifications in history
- Scratch: Better branch handling, icon fixes
- Scroll: Don't animate 1-line scrolls, better buffer change detection
- Bufdelete: Try alternate buffer first
## Bug Fixes
This release includes 80+ bug fixes across all modules, with particular focus on:
- Picker: 30+ fixes including LSP request handling, preview scrolling, qflist items, marks buffer checking, and many more
- Image: Terminal detection, rendering fallbacks, hover behavior
- Dashboard: File filtering, cursor positioning, recent files display
- Explorer: File watching, mounted directories
- Git: Submodule handlin
GitHub
  
  GitHub - folke/snacks.nvim: 🍿 A collection of QoL plugins for Neovim
  🍿 A collection of QoL plugins for Neovim. Contribute to folke/snacks.nvim development by creating an account on GitHub.
  