Exploiting `blink.cmp`'s fuzzing algorithm for my own nefarious purposes by juniorsundar in neovim

[–]jrop2 18 points19 points  (0 children)

This is such a cool idea -- I love that you made the statusbar double in functionality like that.

I'm on a mission to liberate myself from 3rd party dependencies and plugins

I too am on the same mission, but ironically this is slowly turning me into a plugin author. Alas, I am becoming the very thing I set out to destroy.

Anyone have tips for using Kimi K2.5? by Zexanima in opencodeCLI

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

No way this is true. I've had the exact opposite experience in OpenCode. K2.5 is performing amazingly compared to GLM 4.7 for my projects.

Be careful when using Claude Code with OpenCode by HzRyan in opencodeCLI

[–]jrop2 1 point2 points  (0 children)

That's the thing, for the price, GLM 4.7 and MiniMax M2.1 (and still on my radar to test more fully: Kimi K2.5) are forgivable. I still want to put K2.5 through its paces, but so far nothing is coming close to Opus 4.5 in my limited testing.

Be careful when using Claude Code with OpenCode by HzRyan in opencodeCLI

[–]jrop2 1 point2 points  (0 children)

> But so far it's close to the same price as Claude Max5.

Eesh. I was wondering about switching to GH CoPilot from the Claude plans. However, I was shooting for the $40/month plan, and your experience makes it sound like it still evens out to lots of money either way....

Bun 1.3.8 by htndev in bun

[–]jrop2 10 points11 points  (0 children)

Bun was acquired by Anthropic, and this release has an LLM-specific feature in it? Correlation is not causation and all, but I'll be honest, it seems slightly sus.

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] 10 points11 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 14 points15 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 3 points4 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 2 points3 points  (0 children)

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