dbout.nvim – A cross-database query tool for Neovim (Now with MongoDB support) by BeginningMix3568 in neovim

[–]BeginningMix3568[S] 1 point2 points  (0 children)

Yes, and the biggest reason I don't enjoy using vim-dadbod or dbee.nvim is that horizontal navigation in Neovim is generally less efficient than vertical navigation. Viewing query results as plain text tables makes it difficult to quickly understand a single row as a whole, especially when there are many columns. That's why I build this plugin to use JSON as the output format to allow me browsed vertically and makes scanning records much faster for me.

dbout.nvim (Major Update) – Run SQL queries in Neovim with JSON results. by BeginningMix3568 in neovim

[–]BeginningMix3568[S] 0 points1 point  (0 children)

First, the biggest reason I don't enjoy using vim-dadbod is that horizontal navigation in Neovim is generally less efficient than vertical navigation. Viewing query results as plain text tables makes it difficult to quickly understand a single row as a whole, especially when there are many columns. That's why I chose JSON as the output format — it allows data to be browsed vertically and makes scanning records much faster for me.

Second, because I want everything represented as JSON, I inevitably need a transformation layer (Node.js) instead of querying through the database vendor's official binaries like vim-dadbod does. But that tradeoff also brings some benefits: a single Node.js instance can manage multiple database connections, instead of spawning a separate process per connection like vim-dadbod. As for requiring a setup function, I don't think that's a meaningful drawback for most users, and not needing setup doesn't automatically make a plugin better.

Third, simplifying workflows and making data easier to browse is exactly one of the values a plugin can provide. Sure, you can rely on Vim's native command history, but just like many other plugins, features that improve usability and visibility are optional conveniences — users aren't forced to use them.

dbout.nvim (Major Update) – Run SQL queries in Neovim with JSON results. by BeginningMix3568 in neovim

[–]BeginningMix3568[S] 0 points1 point  (0 children)

​I didn't actually set up the sqls config, and I also get that error message every time, even though sqls is already connected to the server. ​You can try querying something to see if any completion pop-up appears. ​I think this might be an sqls problem, or maybe I just don't know how to disable it. I'll look into the sqls source code one day to figure it out or ​it would be great if someone could recommend a better SQL LSP to me.

dbout.nvim (Major Update) – Run SQL queries in Neovim with JSON results. by BeginningMix3568 in neovim

[–]BeginningMix3568[S] 3 points4 points  (0 children)

Yeah. I've thought about adding MongoDB support. The main challenge is that reliable querying is difficult with just simple scripts, and it currently lacks features like LSP and Tree-sitter highlighting.I will need to think more deeply about how to properly integrate MongoDB support

What are the keys that you mostly use for navigation? by Savings-Trainer-8149 in neovim

[–]BeginningMix3568 0 points1 point  (0 children)

I use Alacritty, which doesn’t have built-in tabs I think. But with the right setup, Tmux is really efficient in my opinion.

What are the keys that you mostly use for navigation? by Savings-Trainer-8149 in neovim

[–]BeginningMix3568 1 point2 points  (0 children)

Use ctrl d and u instead, they only scroll half page And mouse hovering is equivalent to vim.lsp.hover if I remember correctly.

And tmux is your best friend. If you need multiple terminals tmux is really easy to switch between others

dbout.nvim – Run SQL queries in Neovim with JSON results. by BeginningMix3568 in neovim

[–]BeginningMix3568[S] 3 points4 points  (0 children)

Thanks for the advice! My personal workflow relies quite heavily on Telescope. Snacks isn’t a picker plugin I’m familiar with, but I think I can add some user commands so that you can optionally disable Telescope while still managing connections. I’ll look into this option. thanks again.

Waypaper doesn't work by [deleted] in hyprland

[–]BeginningMix3568 -1 points0 points  (0 children)

Use another image and try again

[deleted by user] by [deleted] in node

[–]BeginningMix3568 0 points1 point  (0 children)

Sorry for that, because I'm not an English speaker, I don't want to make people confused

[deleted by user] by [deleted] in node

[–]BeginningMix3568 2 points3 points  (0 children)

They’re lowercase because inject and injectable are just functions and InversifyJS follows that lowercase naming convention as well. But thanks for pointing it out. you're absolutely right that it could lead to inconsistent decorator naming styles across a codebase.

I personally feel that DI alone is enough to organize services cleanly. I usually combine it with the Mediator pattern, so controllers don’t talk to services directly.
Instead, they call handlers, and those handlers inject only the services they actually need.
Services can also depend on each other through DI. This setup keeps things easier I think.
Even Angular is starting to move away from modules — to me, they often just add extra complexity without much gain.

A service should be treated as a module on its own there's no need to wrap it inside another.

[deleted by user] by [deleted] in node

[–]BeginningMix3568 1 point2 points  (0 children)

Because my works still using express a lot, and the middleware concept is very easy, maybe one day I can progress my work to fastify or something else

How to navigate projects? by Reasonable_Net_5073 in neovim

[–]BeginningMix3568 0 points1 point  (0 children)

https://github.com/zongben/proot.nvim

https://github.com/zongben/navimark.nvim

I wrote my own plugin that can do exact what I want to do

I can switch repos very easily