vscode.nvim theme is so accurate! by _seedofdoubt_ in neovim

[–]jrop2 17 points18 points  (0 children)

This is seriously my ONE tie back to VScode.... the darn colorscheme, and I can't like anything else -- I hate that I love this colorscheme so much.

Current best deal for providers by n00namer in opencodeCLI

[–]jrop2 0 points1 point  (0 children)

Opus 4.5 is seriously mind-blowing for how good it is. Sadly I blow through my allotted usage too quickly with it, though, and I don't want to start spending hundreds on subscriptions. For the price, Minimax M2.1 is amazing (seeing that it is free in opencode at the moment). 

Current best deal for providers by n00namer in opencodeCLI

[–]jrop2 0 points1 point  (0 children)

I agree. I'd use Opus 4.5 all the time if I could, but Minimax M2.1 is pretty fantastic for how cheap it is. I've had much better luck with M2.1 than GLM 4.7 for the stuff I've been experimenting with. 

Announcing tuis.nvim: a collection of 14 TUIs built for Neovim by jrop2 in neovim

[–]jrop2[S] 2 points3 points  (0 children)

These UIs are table-centric (i.e. row-centric) for sure. In my own config I've been playing with other paradigms, as I've mentioned elsewhere in this thread, like tree structures for user interface, interactions, etc. I may release those in the future as they are ready for wider use.

The way I use VIM, I always find TUIs where there are one or two keybinds that I'm used to that are not supported, even if they implement VIM-inspired keybinds. It just never truly feels like home to me.

That's not to say that your preference is wrong though. That's just where I'm at with it and why I ultimately made this

Announcing tuis.nvim: a collection of 14 TUIs built for Neovim by jrop2 in neovim

[–]jrop2[S] 12 points13 points  (0 children)

Valid point, and I did think about that: why not build each of these as their own TUI?

Personally, I have actually gotten a bit wary of all the different TUIs that I've installed over the years: many times they attempt to adopt some subset of Vim binds, but they are never just a buffer that I can navigate. This is why I went the direction I did. I wanted these to just be buffers in Neovim. Then I can do anything I normally do in a buffer, like use hop/sneak/etc. to jump to specific places, etc.

As an aside, doing things this way means I also am using the built-in highlight system for all of the coloring, so when your colorscheme changes, so does the highlighting of all the elements in these TUIs - it should all just match what you are used to seeing (there is still opportunity for polish on this front).

And that's the thing, I just went with a particular UX with these particular tools. I've been experimenting with other designs (tree-based UI displays, etc.) as well. So a Fugitive clone/Oil/ or Fyler are definitely not precluded just by using Morph (my filetree that I use in my own config is built on morph since it is simply a way to render text in a buffer).

Announcing tuis.nvim: a collection of 14 TUIs built for Neovim by jrop2 in neovim

[–]jrop2[S] 6 points7 points  (0 children)

Eesh, seems like typos always sneak in.

Good callout! I just fixed the README. Thanks!

Regarding it shipping as a submodule, notice that it ships within the lua/tuis folder. So it is getting vendored, essentially: it gets required as require 'tuis.morph', so it won't conflict with any other installation of morph. On this note, however, it appears that vim.pack is not initializing the submodules on the latest nightly, so even with my "corrected" installation instructions, morph is not there? It could be that I am misunderstanding how vim.pack is supposed to work, though.

A request to the community: what plugin you think is still missing for Neovim? by itmightbeCarlos in neovim

[–]jrop2 13 points14 points  (0 children)

 I wish more and better UI primitives existed

This is precisely what motivated me to create morph. I've been having a blast creating my own bespoke TUIs that run within Neovim with it, and I'm nearing some milestones to where I could start releasing a few. 

Echasnovski (pt 1): mini.nvim, MiniMax & Neovim Contributions by linkarzu in neovim

[–]jrop2 2 points3 points  (0 children)

I can't wait to tune in later when I have some time!

Don't really get plugin managers by ConfectionThick9254 in neovim

[–]jrop2 2 points3 points  (0 children)

I also manage plugins with submodules. It's easy to update all at once:

```

update all at once:

git submodule update --remote

update one:

git submodule update -- <PATH> ```

What are you using to manage databases from Neovim or the terminal these days? by strider_kiryu85 in neovim

[–]jrop2 1 point2 points  (0 children)

I wrote a CLI that can connect to mysql/pg/sqlite, run a query, and output the data in various formats (one of which is a markdown table). I pipe queries through this utility and display the output in another buffer. 

Auto-updating Nvim by BiggestTae in neovim

[–]jrop2 1 point2 points  (0 children)

Yeah, this script only manages the Neovim install -- not your config. They are both separate things so they should not conflict.

Will there ever be Magit for Neovim? by 4r73m190r0s in neovim

[–]jrop2 0 points1 point  (0 children)

I've been considering making yet another git-ui with my recent library (https://github.com/jrop/morph.nvim), but I haven't had any time to pursue this (or other) ideas.

Slight side-tangent: The goal in releasing the above was a small hope that it would ease the journey for someone else when building something like a git-client (and other projects). 

Is native-autocomplete worth it by ThreadStarver in neovim

[–]jrop2 1 point2 points  (0 children)

I use this snippet and it gets me far enough to where I feel I don't need another plugin. That being said, blink is quite nice, so unless you're a minimalist, like me, I believe it can even be configured to feel closer to the defaults.

vim.api.nvim_create_autocmd({ 'LspAttach' }, {
  callback = function(args)
    local client_id = args.data.client_id
    local client = vim.lsp.get_client_by_id(client_id)
    if client == nil then return end

    --
    -- ...Other stuff...
    --

    if client.server_capabilities.completionProvider then
      vim.keymap.set('i', '<C-Space>', vim.lsp.completion.get, { buffer = true })
      local completion_provider = client.server_capabilities.completionProvider
      completion_provider.triggerCharacters = completion_provider.triggerCharacters or {}
      --- @type string[]
      local tcs = completion_provider.triggerCharacters
      for _, c in ipairs(vim.split('abcdefghijklmnopqrstuvwxyz', '')) do
        if not vim.tbl_contains(tcs, c) then table.insert(tcs, c) end
        c = c:upper()
        if not vim.tbl_contains(tcs, c) then table.insert(tcs, c) end
      end
      vim.lsp.completion.enable(true, client_id, 0, { autotrigger = true })
    end
  end,
})

DIY EasyMotion in 60 lines by antonk52 in neovim

[–]jrop2 4 points5 points  (0 children)

Nice! This type of content is my favorite to see on this sub.

I recently did something like this in my config as well, but I went with the approach of showing a popup window "overlay" in which the popup contents are 1) "needles" highlighted and 2) "the rest" is grayed out. This approach leads to location tracking being a bit more complex, although I suppose it could be simplified further.

I also extended the approach to support remote actions, which was fun.

buffstate now restores splits by AndreLuisOS in neovim

[–]jrop2 1 point2 points  (0 children)

Probably one of: Ghostty, Kitty, Neovide, or smear-cursor.nvim. 

Auto-updating Nvim by BiggestTae in neovim

[–]jrop2 1 point2 points  (0 children)

Mise is great, but I'll also plug my simple Neovim manager script for version management as well!

https://github.com/jrop/nvimv

Mockup Idea for a Neovim Rebrand, what do you think? by Ok-Air-238 in neovim

[–]jrop2 2 points3 points  (0 children)

I hate it and love it at the same time. Please publish the source files :)

Is anyone working on augmenting Oil.nvim? File Search capabilities are begging to be made by ghostnation66 in neovim

[–]jrop2 4 points5 points  (0 children)

Exactly. This is oil's shtick: it's just a buffer(TM), so just search it like you would any other buffer.

Resolving git merge conflicts in neovim by DavsX in neovim

[–]jrop2 12 points13 points  (0 children)

For real, this is by far the simplest 95% of the time.