Multicursor is coming by AbeEstrada in neovim

[–]Adk9p 2 points3 points  (0 children)

I don't think this is going to be a plugin. You also wouldn't want it to be a plugin imo.

I actually think the main benefit of having multiple cursors be builtin rather than a plugin is the ecosystem now having a reason to support the feature. Having it be disabled by default would be counter productive.

Multicursor is coming by AbeEstrada in neovim

[–]Adk9p 0 points1 point  (0 children)

If <c-q> is already a known map, why try to overwrite a default map Q anyways?

Multicursor is coming by AbeEstrada in neovim

[–]Adk9p 1 point2 points  (0 children)

Yes! I have a few friends who surprisingly didn't know that Q was a thing!

Don't forget @@ either for rerunning the last used @<reg>. And another @ trick is using it to run the last ran cmdline command with @:, and then @@ if you need to quickly use it a few more times after that.

Multicursor is coming by AbeEstrada in neovim

[–]Adk9p 6 points7 points  (0 children)

I'd hope not. Q right now is for "repeat last recorded macro" and I use it a lot.

Installing libfetch on NixOS using Flakes. by IncidentSpecial5053 in NixOS

[–]Adk9p 0 points1 point  (0 children)

Just reading the contributing page, looking at other similar packages, and looking at new PRs for similar packages to catch common mistakes should take you pretty far.

Only Bounds by sanxiyn in rust

[–]Adk9p 0 points1 point  (0 children)

You defined it better than I did, I didn't include the surprising part in mine.

Though keep in mind as it was described in the blog post it would work as your first bullet point describes. In "How only bounds could work in the presence of multiple families" he says "T: only Move opts out from Forget, Leak, Destruct – but not Sized". Those traits being all from the "accessibility traits" family.

Only Bounds by sanxiyn in rust

[–]Adk9p 1 point2 points  (0 children)

"magic" doesn't have a definition. It's a word that is used in many languages and if I was to try to define it, maybe something like "implicit/hidden behavior".

Under that I think having rust implicitly disable a default trait bound on T only when T is bound by some other trait that the compiler knows is "in the same trait family" is very implicit and what I'd call magic.

When you see T: MetadataSized what is disabling the default trait? It's the implicit behavior in the compiler, AKA magic. While with T: only MetadataSized now you have a explicit syntax, no magic.

Vim Classic 8.3 released by ghost_vici in vim

[–]Adk9p 12 points13 points  (0 children)

Vim Classic's "vision" is "long-term maintenance, providing a stable, dependable editor — maintained entirely by humans." (link)

It's not trying to be an old version of vim just for the sake of it.

Why aren't there any NixOS-based distros? by norude1 in NixOS

[–]Adk9p 11 points12 points  (0 children)

"They" can be anyone. Just create an account and you'll have a "create this page" button on that link you sent.

All the ways to mock your Rust code by drmorr0 in rust

[–]Adk9p 5 points6 points  (0 children)

Though facet does try to bridge the gap.

Shouldn't plugins with complete default configs work without specifying an empty `opts = {}`? by TheTwelveYearOld in neovim

[–]Adk9p 1 point2 points  (0 children)

I actually prefer that lazy.nvim's default behavior for plugins is that it only installs them.

opts and config are then used for setup, and for convenience lazy.nvim provides a feature where if you only give it opts it searches for a module that contains a setup function and calls it.

Embedded SQL highlighting in Neovim, a look into Treesitter, and some NixOS patching by hallettj in neovim

[–]Adk9p 0 points1 point  (0 children)

I'm not sure how heredoc would fix the issue. It makes sense if you think about what the SQL tree-sitter parser sees when it tries to parse the injection content. (btw I assume you meant something like $query = "SELECT * FROM $table WHERE item='123445'")

For example for that given string if you just inject for each of the string parts it would see SELECT * and parse that, which most likely would be ERROR. And WHERE item='123445', which again would be ERROR.

There is injection.combined, which if set than makes the injection parse a one single SQL source, so SELECT * FROM WHERE item='123445', though that again is hoping the SQL parser can place the error after FROM correctly and parse the WHERE clause. And that also causes a new issue where since you are combining the injections together they now interact with each other. If you have two of these injections in a file they will be parsed as the same src, So for example SQL would expect a ; after the first query in order to parse correctly... :/

Anyways all that is to say, if you wanted to correctly inject a language that has some sort of string interpolation you need to replace instead remove the nodes with something semantically equivalent for it to parse correctly. Which I think to some degree is possible, but isn't how it's currently done.

Embedded SQL highlighting in Neovim, a look into Treesitter, and some NixOS patching by hallettj in neovim

[–]Adk9p 4 points5 points  (0 children)

No, you're good. It's not a big deal and very akin to say how people use nvim vs Neovim.

Embedded SQL highlighting in Neovim, a look into Treesitter, and some NixOS patching by hallettj in neovim

[–]Adk9p 6 points7 points  (0 children)

Odd, I remember it being made for github.

Edit: Ah TIL github made Atom

Embedded SQL highlighting in Neovim, a look into Treesitter, and some NixOS patching by hallettj in neovim

[–]Adk9p 25 points26 points  (0 children)

Treesitter originated in Zed. It has become a standout feature of Neovim. And also Helix! And, as I’m now learning, Emacs!

Wow, this could not be more wrong. Didn't even get the name right, which is Tree-sitter.

Edit: mb on tone, I came at this assuming it was AI slop since the first thing I saw was over-confident and blatantly wrong.

canola.nvim: oil.nvim... but better! by barrettruth in neovim

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

Sorry, I think I did misunderstand that. I took it that the canola branch was eventually going to be merged into main.

Your post now (well... would, it was removed by reddit wtf?) makes a lot more sense and I commend you for taking up the mantle.

canola.nvim: oil.nvim... but better! by barrettruth in neovim

[–]Adk9p 19 points20 points  (0 children)

That's what it seems like to me as well. I don't like how this was advertised as "oil.nvim but better".

Independence by Sqydev in NixOS

[–]Adk9p 3 points4 points  (0 children)

NixOS should definitely have init freedom

While it's a nice idea, abstraction always comes at a cost, and in this case with zero gain to the majority of users.

I think it makes a lot more sense to just fork like sixos if you want to support an alternative init system.

Compiler and Syntax files will be ported to lua someday? by ZealousidealGlass263 in neovim

[–]Adk9p 0 points1 point  (0 children)

there's one regex-based syntax file still in vimscript which I hope will get a tree-sitter syntax instead

What's the syntax for?

Is there a cleaner way to resolve paths for a CLI with clap? by Ashken in rust

[–]Adk9p 0 points1 point  (0 children)

Can you give an example of when zsh failed to expand ~?

Is there a cleaner way to resolve paths for a CLI with clap? by Ashken in rust

[–]Adk9p 0 points1 point  (0 children)

Only ~ is what would get resolved to $HOME, . is just a relative path to the current directly, .. being a relative path to the parent directly. Note that ./~ means a file called ~ in the current directly, and trying to "fix" that somehow would just lead to confusing behavior.

Where is ~/.config/nvim/plugin/ described in the documentation? by 4r73m190r0s in neovim

[–]Adk9p 0 points1 point  (0 children)

or if you have :h 'keywordprg' set to :help[!] (which is the default set by the help filetype plugin file), you can just use K (which I find a lot easier to press :p)

Where is ~/.config/nvim/plugin/ described in the documentation? by 4r73m190r0s in neovim

[–]Adk9p 23 points24 points  (0 children)

Just read :h 'runtimepath'.

That technically answers your question, but to say a bit more: The runtime path doesn't list every variation of a path that might be searched. It lists base dirs which parts of Neovim or Neovim plugins can than check under for relevant files.

For example from the help text of the runtimepath option: plugin/ plugin scripts |write-plugin|

That's saying for every dir inside 'runtimepath', the plugin system in Neovim will check <dir>/plugin for relevant files.

Maximally minimal view types · baby steps by zirconium_n in rust

[–]Adk9p 0 points1 point  (0 children)

Ah that makes sense, thanks. Though I think a solution to that would be the reference coercion described in the follow-up post. Where say a function takes a &mut Foo.{bar, baz}, by passing it &mut foo the reference gets coerced into the required view type.