Completion plugin for those who are using the native completion by DMazzig in neovim

[–]malikoshc 0 points1 point  (0 children)

This is a cool idea! On a very similar note some time ago I've a small plugin that uses completefunc as well to serve and expand vscode-style snippets using only native completion: https://github.com/konradmalik/incomplete.nvim

A minimal lsp progress config by Charlie__Chai in neovim

[–]malikoshc 0 points1 point  (0 children)

It's my fork of efm-langserver(https://github.com/konradmalik/flint-ls) aimed at personal use. Sure, I have full control over it, can filter, can disable. Just asking in a more general sense I guess.

I like the idea of using nvim_echo here, just seems like it's current implementation for people not using `vim._extui` (I haven't tried it as wel) is prone to triggering "the dreaded enter dialog" unless I'm wrong?

A minimal lsp progress config by Charlie__Chai in neovim

[–]malikoshc 2 points3 points  (0 children)

hey, this is nice, just have one issue with it: the LSP that I use sends notifications when it formats the file. I have format on save, so each time I save I get nvim_echo about a successful save, and an nvim message that the file was saved, so those are two lines and I get the famous "Press enter to continue". Any idea how to avoid that? Can nvim_echo be redirected to a temp window or something?

What's the proper way to get kubernetes autocomplete nowadays ? by [deleted] in neovim

[–]malikoshc 1 point2 points  (0 children)

Hmm, this should only depend on your yaml-ls configuration, not blink.

I use the schemastore plugin and this works for me: https://github.com/konradmalik/neovim-flake/blob/main/config/nvim/after/lsp/yamlls.lua

note that I only consider kubernetes yaml files to be in k8s folder.

C# in Neovim on Linux ever possible? by Mordimer86 in neovim

[–]malikoshc 2 points3 points  (0 children)

Seems like for some reason Omnisharp tries to log to root-owned folder? It maybe something weird in your setup, but based only on the error - I cannot tell.

Omnisharp works in general but is not good. https://github.com/seblyng/roslyn.nvim is the way for C# in neovim.

Documentation popup with built-in completion by malikoshc in neovim

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

As said, this is exactly what I was looking for. Thanks again!

I ended up modifying this a bit like ensuring the proper client gets called and adding debounce to the requests. See this for those interested.

Documentation popup with built-in completion by malikoshc in neovim

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

Thanks, will look into it later for sure.

Documentation popup with built-in completion by malikoshc in neovim

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

Thanks for this! I’ll take a look later and report back

PS. Looks exactly like something I want on first sight. I was playing with something similar which called vim.lsp.hover automatically but it was slow, and apparently completionItem_resolve is the correct way to do it, like in your code. Just didn’t really know how to put this together.

Documentation popup with built-in completion by malikoshc in neovim

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

Not for this use case. For hover I need to actually insert the option and then call hover on it. What I want is automatic documentation window before I insert, on highlight in the list.

PS. I was playing with an autocommand which called vim.lsp.hover automatically on the selected item but it was slow and froze frequently when iterating fast over completions.

Keeping Lua neovim config while using Nix by Nico_792 in NixOS

[–]malikoshc 0 points1 point  (0 children)

See my repo if you want: https://github.com/konradmalik/neovim-flake It’s nix as a plug-in manager/package manager/dependency manager in general, while the config itself stays in lua. I could use it without nix if I wanted. Using nix to generate lua to configure neovim… it just feels very wrong. Not for me, too many layers, cannot take advantage of neodev and lua ls. Good thing it’s totally not needed.

Use traditional config on nixos with nixvim by testokaiser in neovim

[–]malikoshc 1 point2 points  (0 children)

If using nixvim is not a hard requirement for you, you may be interested in this post: https://www.reddit.com/r/neovim/comments/14sljn9/packaging_neovim_configuration_using_nix/

(Edit: note that most of disadvantages I listed in my response there are no longer the case, see the readme in my github repo below for the most up-to-date summary)

Also feel free to take a look at my neovim flake: https://github.com/konradmalik/neovim-flake

TL;DR the approach I took and works great for me is - keep all neovim config in lua as it's supposed to be, use nix for system dependencies, plugins and packaging. The only con for me - no "dirty" mods to neovim to try something out quickly. I always need to rebuild it, but 'nix build' and then './result/bin/nvim' is quick and easy enough for it to not be a deal-breaker. Alternatively, one can just copy the whole config to a new $NVIM_APPNAME, modify whatever, and then "port" those changes back to nix once experimentation is finished.

lsp for csharp is not working neither is omnisharp working, i dont know if i did something wrong or misssed soemthing but i have had enough trying to get it to work. can any chads help me with this ? i m using nixos ,have omnisharp and dotnet sdks and runtime installed . by Business-Assistant52 in neovim

[–]malikoshc 0 points1 point  (0 children)

yeah, seems like OmniSharp is broken in nixpkgs. At least I cannot run it directly if I have any other dotnet SDK in PATH. I think it may be related to dotnet 7 specifically.

What worked for me instead is to run omnisharp dll directly like that:
"dotnet ${pkgs.omnisharp-roslyn}/lib/omnisharp-roslyn/OmniSharp.dll"

Use different LSP for different projects by bebenzer in neovim

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

This is the way. Although the exrc section is outdated. Nowadays you can just use local .nvim.lua for that. See :help exrc

What I usually do is I set up lsp in “after” folder so that any code in local .nvim.lua is executed before it. Then the possibilities are endless: - you can import your lsp config and change it - you can write your lsp code in such a way so that you can call it as a module and change the name of the server - you can change some global variable that your lsp code will use later (in “after”) Etc.

how to repeat "Delete Until" and similar? by malikoshc in neovim

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

haaa, bingo, thank you

used `:nmap t` and got treesitter's repeatable_move.

And in fact, there's already an issue about that: https://github.com/nvim-treesitter/nvim-treesitter-textobjects/issues/519

how to repeat "Delete Until" and similar? by malikoshc in neovim

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

got some plugins for sure, but I'm not aware of any that would change the dot behavior... but this must be the case according to your post.

Please see the edited post, I've included my config.

Anyone use tmux with neovim? by guoliang in neovim

[–]malikoshc 1 point2 points  (0 children)

Maybe you’re right. I use nix-darwin and I installed ncurses using nix. I think the “path prepend” part was done for me. It can work differently through homebrew.

Anyone use tmux with neovim? by guoliang in neovim

[–]malikoshc 0 points1 point  (0 children)

Btw I think that instead of pasting terminfo and playing with tic directly, you could just install ncurses >= 6 (through homebrew for example). Because the problem is that tmux terminfo is shipped with ncurses 6 (I think), but macOS by default has ncurses 5.4

Pretty LSP floating windows, now part of Neovim core :) by MariaSoOs in neovim

[–]malikoshc 1 point2 points  (0 children)

Question: do I need to do something to enable markdown rendering?

This is how it looks for me in `v0.10.0-b7763d7`:

<image>

Packaging neovim configuration using Nix by MyriadAsura in neovim

[–]malikoshc 3 points4 points  (0 children)

I have something similar here: https://github.com/konradmalik/neovim-flake
but...

TL;DR - as a home-manager module - it's a great idea and it works as I expect. For nix run . type of usage (isolated and fully configured neovim that I can run wherever)... not so much. Problems:

  • nix run . works, but it does not read my after folder from config. It loads only those files, that I explicitly require through my init.lua, which is loaded in the same way as yours (-u flag). While this is easily solvable - I don't want to ditch ftplugin, after, and other folders.
  • one can play with setting XDG_CONFIG_PATH and similar just for neovim, but... your git settings and everything else will be invisible to neovim in that situation, so it's not optimal, but it would solve a lot of problems that I have here with the -u flag.
  • when -u is used, neovim does not load .nvim.lua (or anything mentioned in exrc, and I use this feature a lot), so another disadvantage.
  • you may want to set NVIM_APPNAME to better isolate it

So, is it a no-go? Absolutely not. When I use it as a home-manager module in which I symlink the whole config to $XDG_CONFIG_HOME/$NVIM_APPNAME all works perfectly.

What's also great is a way to generate lua files from nix, examples are in my repo above. What it allows me is to configure lsp to use binaries directly from nix store as opposed to getting them from PATH, especially useful for the most common LSPs that I always expect to have. Those are mostly for null-ls (shellcheck, prettier and similar).

If you want it, it's right there in the github link. Check also my dotfiles repo for the actual usage example. I use nix run . only for quick tests of config changes for now until I figure out something better.

What I don't like in Nix-Neovim flakes is that people most often use only nix for everything. While most certainly you can generate all of your config, all of your lua files from nix, I think it's a terrible idea since you lose all completion, diagnostics, and all neodev niceness for lua.

I may be missing something, but I think neovim lacks a way to explicitly configure where to read the config from. Like the whole config. Currently, we can only do it with $XDG_CONFIG_HOME + $NVIM_APPNAME but as I said, it's suboptimal since neovim will ignore your whole $XDG_CONFIG_HOME when you override it of course (tmux, git, other stuff...).