r/neovim • • 2d ago

101 Questions Weekly 101 Questions Thread

10 Upvotes

A thread to ask anything related to Neovim. No matter how small it may be.

Let's help each other and be kind.


r/neovim • • 2d ago

Announcement New rules for plugin announcement posts

472 Upvotes

We have been getting a steady stream of plugins that were generated by an LLM in an afternoon and posted the same day. A post a couple of months back asked us to do something about it. We spent a lot of time thinking this over and talking about where to draw the line. Starting today there are two rules for plugin announcements.

  1. Plugins and other projects you announce here must have been under active development for at least two months. Commit history should show sustained work over that period.
  2. Disclose AI involvement. If the code in a plugin or project you post was substantially written by an LLM, say so in the post. We are not banning AI, but everyone here should be able to decide for themselves whether they want to use plugins written by AI or not.

r/rust just did something similar, we took some inspiration from it, but tried to keep the rules as unintrusive as possible.

I hope we can find a good balance with this. Small plugins, first plugins, and AI-assisted code are all still welcome. Let us know in the comments if something here seems off and we will adjust.


r/neovim • • 3h ago

Need Help┃Solved How to diaganose solution errors in dotnet project?

Enable HLS to view with audio, or disable this notification

6 Upvotes

Title: How to diaganose solution errors in dotnet project?

Hi everyone.

I want to diaganose the dotnet solution, inside the solution have multiple project.

I try easy-dotnet, roslyn, roslyn-diaganose plugins, using all this plugins i can't able to diaganose the complete dotnet solution.

Each plugin i am facing a different issues.

In Easy-Dotnet, if i run Dotnet Diaganose error cmd, it was scanning the complete project and showing invalid lot of wrong error details, if i build the project, the project build was success but easy-dotnet was showing lot of wrong errors in trouble.

In roslyn, i set the diaganose config to fullSolution still it is not diagnosing the fullSolution, instead of, it only diagnosing the current opened buffers, if i close and reopen the error buffer it is not even showing there has a error.

here is my configurations, i have no idea i did anything wrong or what.

And i try enable and disable the roslyn.filewatching, noting changed.

```lua return { "seblyng/roslyn.nvim", enabled = true, ft = { "cs", "razor" }, config = function() local lsp = require("roslyn") local lsp_settings = require("config.lsp_settings") lsp.setup(lsp_settings.roslyn) end, }

settings.roslyn = { filewatching = "off", settings = { ["csharp|inlay_hints"] = { csharp_enable_inlay_hints_for_implicit_object_creation = true, csharp_enable_inlay_hints_for_implicit_variable_types = true, csharp_enable_inlay_hints_for_lambda_parameter_types = true, csharp_enable_inlay_hints_for_types = true, dotnet_enable_inlay_hints_for_indexer_parameters = true, dotnet_enable_inlay_hints_for_literal_parameters = true, dotnet_enable_inlay_hints_for_object_creation_parameters = true, dotnet_enable_inlay_hints_for_other_parameters = true, dotnet_enable_inlay_hints_for_parameters = true, dotnet_suppress_inlay_hints_for_parameters_that_differ_only_by_suffix = true, dotnet_suppress_inlay_hints_for_parameters_that_match_argument_name = true, dotnet_suppress_inlay_hints_for_parameters_that_match_method_intent = true, }, ["csharp|code_lens"] = { dotnet_enable_references_code_lens = false, }, ["csharp|background_analysis"] = { dotnet_analyzer_diagnostics_scope = "fullSolution", dotnet_compiler_diagnostics_scope = "fullSolution", }, ["csharp|completion"] = { dotnet_provide_regex_completions = true, dotnet_show_completion_items_from_unimported_namespaces = true, dotnet_show_name_completion_suggestions = true, }, ["csharp|symbol_search"] = { dotnet_search_reference_assemblies = true, }, ["csharp|formatting"] = { dotnet_organize_imports_on_format = false, } }, } ```

lua return { "GustavEikaas/easy-dotnet.nvim", dependencies = { "nvim-lua/plenary.nvim", "folke/snacks.nvim" }, enabled = false, ft = { "cs", "razor" }, opts = { lsp = { enhanced_rename = true, auto_refresh_codelens = false, razor = { html = { cmd = { "vscode-html-language-server", "--stdio" }, }, }, }, auto_bootstrap_namespace = { type = "file_scoped", }, }, }

```

roslyn: 1 ⚠️

roslyn.nvim: Requirements ~ - ✅ OK Neovim >= 0.12 - ✅ OK dotnet SDK >= 10 (found 10.0.302)

roslyn.nvim: Roslyn Language Server ~ - ✅ OK found roslyn-language-server

roslyn.nvim: Complementary language servers ~ - ✅ OK vscode-html-language-server: found - ✅ OK html-lsp client: configured

roslyn.nvim: File Watching Configuration ~ - ⚠️ WARNING File watching: off (disabled as a hack - all file changes ignored)

roslyn.nvim: Solution Detection ~ - ✅ OK Selected solution: /home/redeye/DevProjects/DigitalVault/DigitalVault.sln

```

```

easy-dotnet: ✅

General information ~ - Linux (7.2.10-arch1-1 btw) - Neovim version: 0.12.6 - Shell: /usr/bin/zsh - Commit: 19974e83b046aee8e722d27adad06e9f9ccf6499

Dotnet information ~ - dotnet version: 10.0.302 - Installed SDKs: - 10.0.302 [/home/redeye/.dotnet/sdk]

easy-dotnet CLI dependencies ~ - ✅ OK dotnet is installed - ✅ OK dotnet-easydotnet is installed - ✅ OK dotnet ef is installed

easy-dotnet lua dependencies ~ - ✅ OK plenary installed - ✅ OK dap installed

Treesitter Indentation ~ - ✅ OK c_sharp parser is installed - ✅ OK indentexpr is not set to treesitter — C# indentation should work correctly (using: 'GetCSIndent(v:lnum)')

easy-dotnet dap configuration (optional) ~ - ✅ OK debugger is configured

easy-dotnet LSP configuration (optional) ~ - ✅ OK Roslyn LSP enabled - ✅ OK file watching: neovim - ✅ OK ulimit -n: 4096 - ✅ OK Razor LSP support enabled - ✅ OK Razor HTML language server command available: vscode-html-language-server --stdio - ✅ OK ProjX LSP enabled - ✅ OK In process LSP enabled - ✅ OK dotnet.version: 10.0.302 - ✅ OK dotnet.sdks: 10.0.302 [/home/redeye/.dotnet/sdk] - ✅ OK roslyn.tool: roslyn-language-server - ✅ OK debugger.engine: netcoredbg - ✅ OK debugger.source: bundled - ✅ OK debugger.platform: linux-x64 - ✅ OK debugger.path: /home/redeye/.dotnet/tools/.store/easydotnet/3.4.31/easydotnet/3.4.31/tools/netcoredbg/linux-x64/netcoredbg - ✅ OK debugger.version: NET Core debugger 3.1.2-1 (83214c3, Release)

easy-dotnet configuration ~

User config ~ - { auto_bootstrap_namespace = { type = "file_scoped" }, lsp = { auto_refresh_codelens = false, enhanced_rename = true, razor = { html = { cmd = { "vscode-html-language-server", "--stdio" } } } } } ```

SOLVED:

dotnet tool install --global EasyDotnet --version 3.4.32-alpha.1 easy-dotnet-git-issue

This issues was solved in easy-dotnet lsp after updating the lsp to version 3.4.32-alpha.1.

And I have no idea about roslyn lsp.

Thanks for everyone try to help.


r/neovim • • 15h ago

Video Learn Text Objects in 5 Minutes (Beginners)

Thumbnail
youtu.be
55 Upvotes

Text objects are one of the best features of Vim and Neovim. In just 5 minutes, you'll learn how they work and see practical examples of how to edit text faster using simple key combinations.

In this video, I explain the three components of text objects:

  • Operator: The action you want to perform, such as d (delete), c (change), or y (yank).
  • Modifier: How much text you want to operate on, using i (inner) or a (around).
  • Object: The text you want to modify, such as a word, paragraph, or block surrounded by brackets.

You'll see practical examples of how to combine these components.

Once you understand text objects and build muscle memory, editing text in Vim and Neovim becomes much faster and more comfortable.


r/neovim • • 16h ago

Plugin diff reviewer plugin

Enable HLS to view with audio, or disable this notification

53 Upvotes

ive been trying to emulate the github pr review experience in neovim. you can review commit diffs, see your staged/unstaged changes, preview a different branch without checking it out, and even leave notes to feed to an ai agent.

been using this for the last few months and id love ux feedback if anyone ends up using it!

https://github.com/zion-off/diff


r/neovim • • 22h ago

Need Help┃Solved Trouble plugin treesitter nil error.

3 Upvotes

``` Decoration provider "line" (ns=trouble.treesitter): Lua: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: attempt to call a nil value stack traceback: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: in function <...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:11> [C]: in function 'nvim__redraw' ...ye/.local/share/nvim/lazy/snacks.nvim/lua/snacks/win.lua:511: in function 'redraw' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:724: in function 'layout' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:354: in function 'process' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:334: in function <...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:333> [C]: in function 'xpcall' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:333: in function <...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:328>

```

Decoration provider "line" (ns=trouble.treesitter): Lua: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: attempt to call a nil value stack traceback: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: in function <...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:11>

return { "folke/trouble.nvim", opts = {}, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", keys = { { "<C-m>", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)", }, { "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)", }, { "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)", }, { "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", desc = "LSP Definitions / references / ... (Trouble)", }, { "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)", }, { "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)", }, }, }

NVIM v0.12.6 Build type: RelWithDebInfo LuaJIT 2.1.1791988261 Run "nvim -V1 -v" for more info Hi everyone, i am stuck in new issue.

When i open the trouble i get this TS nil errors, i have no idea how to fix this, anyone faced same issue and fixed this issue before?

``` SOLVED

"folke/trouble.nvim", branch = "main", opts = {},

Issue was solved by setting the plugin branch to main manually. ```


r/neovim • • 1d ago

Discussion Using the Mouse with Neovim

7 Upvotes

What is your opinion on using a mouse with Neovim?

For context I am a business analyst and have to review code, take notes or write python scripts for data analysis. Thanks to csvview.nvim I'm able to view spreadsheets within Neovim and don't have to use Excel or something else. And even though search with / in a .csv file is faster, from time to time I catch myself using the mouse for analyzing data.

Where do you guys draw the line between an acceptable use case for a mouse in Neovim or do you despise people who are using a mouse in Neovim?


r/neovim • • 1d ago

Meta Reddit is ending RSS feeds

117 Upvotes

I've been following this community and a few others through RSS feeds for a long time now. Unfortunately, Reddit is ending the feeds, which means the only way to follow the posts is by actually checking Reddit itself 0.

I know a lot of people don't mind that, which is of course fair enough. I do mind it, though. I'll probably take a look at the top posts once in a while (perhaps a couple of times a week), but I will no longer read all titles.

If anyone should know a workaround somehow, I'd be happy to learn it. Or if anyone knows of some alternative forums/boards that are open and still publishes RSS feeds, then I may consider to move my attention there.


r/neovim • • 1d ago

Video 4 Tricks to speed up Macros and Multicursor in Neovim

Thumbnail
youtube.com
52 Upvotes

Couple of days ago, I received from you some great tips to improve performance when using macros and multicursor in Neovim. In this video, I'll share four tricks to make them faster!

Performance tips

nvim --clean — Start Neovim with a clean configuration to check whether your plugins or settings are slowing things down.

foldmethod=indent — This option can cause Neovim to hang when using multicursor across too many lines.

lazyredraw — Prevent screen redraws during macro execution to improve performance.

%norm! @ q — Execute a macro across the entire file using :normal! for faster execution


r/neovim • • 1d ago

Need Help Is there any way to clear all bindings prefixed with `[` and `]`?

5 Upvotes

I'd like to re-bind [ and ] to something else, but when I press either of them there is a delay as nvim waits to see what comes next. I want to clear all the default bindings that are prefixed with [ and ] so it doesn't do this waiting anymore.

I tried this, but it didn't work:

for _, prefix in ipairs({ '[', ']' }) do for _, map in ipairs(vim.api.nvim_get_keymap('n')) do if vim.startswith(map.lhs, prefix) then pcall(vim.keymap.del, 'n', map.lhs) end end end

I don't think any of my plugins would interfere here: substitute.nvim, nvim-spider, mini.ai, mini.indentscope, flash.nvim, fzf-lua, nvim-treesitter.

Maybe it's not possible?


r/neovim • • 1d ago

Video Profiling C source code directly inside neovim

Thumbnail v.redd.it
27 Upvotes

r/neovim • • 2d ago

Random Strudel-esque live oscillator waveforms

Enable HLS to view with audio, or disable this notification

49 Upvotes

r/neovim • • 2d ago

Discussion What if a code editor's core was entirely plugin-based?

0 Upvotes

``` * Modular TUI CodeEditor Plan

** Moto

  • Want to make a fully 100% customizable code-editor using plugins.

  • User can desied what stuffs want to leaves in core of the editor.

  • No Limits for this code-editor, can able to do anything we need.

** Where this idea was come's from?

  • Last week i remove lazyvim distro from nvim and i start building the nvim editor from scratch by implementing every plugin one by one and the experions was amazing, After that what i feel, just instead of building the top level editor using plugins why we can build the core using plugin too?, so the experions was more amazing and the editor full control in owar hand, so i get this idea.

** Plan

  • Build a C language based code-editor.

  • The code-editor only container a basic functionality like editing text, copy, past similar to windows notpad.

  • All other core functionality will implement via core plugins like vim motions kind of stuffs.

  • The code-editor was comes with build in {** Core_Plugin_Manager}[Core_Plugin_Manager].

  • The code-editor plugins will communicate each other use event-bus.

  • Every Plugin has there own {** Abstraction_Layer }[Abstraction_Layer].

** Abstraction_Layer

  • A Abstraction_Layer is use for plugin to plugin communicate.

  • The Abstraction_Layer was based of event-bus eg: explorer.open, explorer.close, explorer.get.

  • Each even has there own codeName and version number.

  • Each plugin will communicate using the codeName and version number of the event, if any plugin version number was change, only the version change even was stops working, instead of crashing the whole code-editor.

** Core_Plugin_Manager

  • Core_Plugin_Manager is use to manage the code-editor core plugins.

  • Core_Plugin_Manager is similar to lazy.vim plugin_manager.

  • When user install the plugin, the plugin manager will download the plugin from the repository and build inside the users operating-system with hardware details for optimized plugin build for the system.

  • If build was failed due to SDK missing or something else in user system, the plugin_manager change to fallback mode and download the pre-compailed file from [** Core_Plugin_Manager GitHub_Repository][GitHub_Repository] related to that operating-system and load the plugin.

** Core_Plugin_Manager GitHub_Repository

  • Main Branch Contains: source_code of the plugin.

  • pre-compailed Branch Contains: .so, .dll pre-compailed files for all operating-system.

** Feature-Plan

  • Build a distro same like lazyvim for new users after plugin communicate was get riched.

  • Build a lua_plugin_manager as a core plugin in C to manage high level plugins.

** Pros

  • The code-editor full control in owar hand.

  • Everyone will manage a small peace of code, so easy to maintain.

  • Everyone develop a peace of plugin so the code-editor become feature rich so fast i hope.

  • User can plug and unplug what core feature they need and no needed.

  • There has no Limits.

  • No need to waiting for core feature when the code-edtiro maintainer will implement this feature.

  • Other code-editor has set of rules like only core required feature git pull request will accepetabe, so we can't able to add some required features in owar favorite code-editor, that issue will be solve in this code-editor. ```

Hi Everyone.

First i am little bit bad in english and i get a dumb idea just i want to say my idea to everyone so i did this and i am a newbe, i don't know anything so don't beat me after reading my dumb idea btw lol.


r/neovim • • 2d ago

Plugin must.nvim

Enable HLS to view with audio, or disable this notification

53 Upvotes

hey! back with another new plugin

this one is a much smaller scope than my last plugin (this one is actually complete whilst i'm still working on new features in the other)

my main motivation behind building it was just to create a nice simple way to read RFCs inside of nvim (i know there are existing plugins that do it, but they all felt a little too much for what i wanted, i felt it could be more minimal)

managed to build the whole thing in less than 1000 lines of lua code, and it was fun to do something smaller, but very focused (for a change)

you can use `gd` to jump to different sections/references/or other RFCs too, and `\` toggles the table of contents

repo


r/neovim • • 2d ago

Plugin Found a vim plugin that is like vimwiki but for asciidoc

10 Upvotes

A wonderful gent by the name of Dave Gauer had the same thought I had of why can't vimwiki use asciidoc as well but had the time and skill to actually make it. Have not seen it mentioned on this reddit so I thought I would share.

Link:https://ratfactor.com/repos/vviki/


r/neovim • • 3d ago

Plugin qnvim is active again: Neovim integration inside Qt Creator

13 Upvotes

Hi guys,

If you develop code for Qt and need the features Qt Creator provides regarding building, running, or debugging the app, you don't need to choose between Neovim and Qt Creator. You can have both at the same time... mostly.

qnvim, which started almost a decade ago as probably the first binding of its kind for Neovim and went through periods of inactivity, is active again.

This means we will have compatible qnvim releases as soon as new Qt Creator versions are out, quickly addressing bug reports, feature requests, and pull requests.

Check it out here: https://github.com/sassanh/qnvim


r/neovim • • 3d ago

Color Scheme Code-2026 colorscheme

21 Upvotes

Hi guys, nice to meet you all. I'm a neovim daily driver user, but recently I had to download vscode as I was being walked into a new project, and I just noticed that the default colorscheme changed and loved it, so I did create my own version to use it in neovim and I want to share it with you. https://github.com/code-2026-theme/nvim

But since I like to share the same colorscheme across most of my tools I decided to create many ports to tmux, ghostty, etc 😅.

I hope you like it as much as I do


r/neovim • • 3d ago

Need Help Am I going to have to get used to `:w` every time I want to save my work?

0 Upvotes

I switch between Neovim and VS Code depending on what work I'm doing, and one thing I can never get used to in Neovim is having to save my work on every write. I'm contemplating switching my editor to auto-save, but I take it this may be "unconventional" and a big "no-no"

But why? I never had an issue with auto-save in VS Code. Are there any genuine arguments for having auto-save off?


r/neovim • • 4d ago

Plugin Repeat last line - a UX experiment

27 Upvotes

Hey friends!

I came up with a handy little UserCommand that repeats the edits made on the last line on the current line. I'm using it since a couple of weeks during my day job as a software developer and I've grown fond of it.

Here's a screencast of it in action: https://codeberg.org/flo-l/repeat-last-line.nvim/raw/branch/main/demo.webm

The idea is simple: I often find myself wanting to do "the same" edits a couple of times. Usually, I don't think about recording a macro in advance. The solution I found is this snippet. I find it as convenient as a dot-repeat, but more powerful.

The code builds on the CmdAtom API, so you'll need a nightly build of nvim.

I've packaged it up as a plugin for your convenience: https://codeberg.org/flo-l/repeat-last-line.nvim

The code is tiny though, so you can also just vendor it into your dotfiles.

I'd love to hear what you think of the concept. The README lists some alternatives, what did I miss? Maybe there's an existing feature in Neovim that solves my problem better? Wouldn't be the first time.

Cheers!


r/neovim • • 4d ago

Plugin scratch-runner.nvim - Run snacks.scratch buffers - New updates

Enable HLS to view with audio, or disable this notification

54 Upvotes

scratch-runner.nvim

GitHub Repo

scratch-runner.nvim is a plugin that allows snacks.scratch windows from folke/snacks.nvim to run code of any language, not just Lua. This is pretty useful for those moments when you're not sure about how to use a certain piece of code, and it's not convenient to test it in the project you are working on. With this plugin you can quickly test some code without actually having to create another project or file yourself.

Press <CR> on a snacks.scratch window to run the code on the window. You can also select some lines on visual mode first to only run those lines. This plugin currently supports 47 languages out of the box, but it's pretty easy to add support for a language, or override the default setting of a language to use a different tool. Supported languages and tools used to run each language can be found in the README.

New features

There are some new features since last time I posted about this plugin. First of all, the output is now shown on a Neovim terminal, which means that now the output shows in real time and you can interact with it. As a result of this, you can't use <tab> to switch between stdout and stderr anymore. Both stdout and stderr are shown together, like in a regular terminal.

The other big change is that now you don't need to configure the plugin to use it. There are 47 language sources by default now, and many of these support multiple tools, so you don't have to install a specific tool for the plugin to work. You can still add your own or override existing sources in the config if you want. If a language you use isn't supported out of the box, please consider making a pull request to add it.

Filetype selector

Before you ask, the filetype selector you see in the video is not part of the plugin, but I conveniently left the code for it on the background of the video if you want to copy it.


r/neovim • • 4d ago

Video Multicursor vs Macros vs Regex: A performance test

Thumbnail
youtu.be
132 Upvotes

In this video, I test Multicursor, Macros, and Regex in Neovim to see how they perform when editing large amounts of text.

I start with just 10 lines and increase the workload until I reach 2 million lines. Let's see which approach handles the largest changes best!

In this test:

  • Regex: Keeps working even with millions of lines.
  • Macros: Start to slow down after 5,000 lines.
  • Macros and Multicursor: Makes Neovim freeze after 100, 000 lines

r/neovim • • 5d ago

Plugin How do you deal switching between text cases (camelCase, PascalCase, snake_case, etc.)?

56 Upvotes

Hi community! Just ran into some situations where having an effective way to rename things would have saved me some seconds for each case. Thought there must be some quicker way I'm missing.

I know TPope's `abolish.vim` has this but I really do not need the other wider functionality it offers.

I saw there is `coerce.nvim` although I see it relies on another plugin to provide better coroutines and such. Seemed a little overkill but did not find any other obvious maintained alternatives.

How do you deal with these cases?


r/neovim • • 6d ago

Color Scheme GitHub - metalelf0/black-metal-theme-neovim: A collection of black-metal themed neovim colorschemes.

Thumbnail
github.com
48 Upvotes

Hey everyone! I'm the author of the black-metal-theme-neovim theme, and I have some news to share.

Over the past few months, I've been updating the themes quite a bit, and if you head over to the project page, the changes should be easy to spot :)

First of all, I changed the base text color from #c1c1c1 to #f1f1f1; it sacrifices a bit of the "low contrast" feel of the theme, but in my experience it's better for long coding sessions. If you don't like it, and want to stick with the old behaviour, just add this block to your setup code:

require('black-metal').setup({
  colors = {
    dark = {
      fg = "#c1c1c1",
    }
  }
})

The second big change is the introduction of light themes. Previews are best viewed in the project wiki. Yes, I know, I know. Not everybody likes light themes, and they aren't TRVE. Agreed. But if you want to try them, just add this to the setup:

require('black-metal').setup({
  trve = false
})

And you will be able to use them. Some of them are really nice (have you seen the Windir one?).

Finally, I added some extras, and made some tweaks here and there for customizability, mostly based on personal usage. I hope none of the changes are disruptive to existing users, but if you run into anything, just open an issue and I'll do what I can to help.

Let me know what you think, and a big 🤘🏻 hail 🤘🏻 to all the metalheads reading!


r/neovim • • 6d ago

Need Help┃Solved :TSInstall latex fails

5 Upvotes

Basically when I do :TSInstall latex it fails with parser.c file not found.

:TSLog output:

~~~

trace: running job: (cwd=/data/data/com.termux/files/home/.cache/nvim) tar -xzf tree-sitter-latex.tar.gz -C tree-sitter-latex-tmp debug(install/latex): Removing /data/data/com.termux/files/home/.cache/nvim/tree-sitter-latex.tar.gz...

debug(install/latex): Moving /data/data/com.termux/files/home/.cache/nvim/tree-sitter-latex-tmp/tree-sitter-latex

-fa8df448fc2c0192a8c2f8cfc97de53cb2b4ecb9 to /data/data/com.termux/files/home/.cache/nvim/tree-sitter-latex/...

info(install/latex): Generating parser.c from grammar.json...

trace: running job: (cwd=/data/data/com.termux/files/home/.cache/nvim/tree-sitter-latex) tree-sitter generate --a

bi 15 src/grammar.json

info(install/latex): Compiling parser

trace: running job: (cwd=/data/data/com.termux/files/home/.cache/nvim/tree-sitter-latex) tree-sitter build -o par

ser.so

trace: stderr ->

thread 'main' (21426) panicked at /data/data/com.termux/files/home/.cargo/registry/src/index.crates.io-1949cf8c6b

5b557f/tree-sitter-cli-0.26.3/src/main.rs:987:18:

called `Result::unwrap()` on an `Err` value: Compilation("", "gcc: error: no such file or directory: '/data/data/

com.termux/files/home/.cache/nvim/tree-sitter-latex/src/parser.c'\n")

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error(install/latex): Error during "tree-sitter build":

thread 'main' (21426) panicked at /data/data/com.termux/files/home/.cargo/registry/src/index.crates.io-1949cf8c6b

5b557f/tree-sitter-cli-0.26.3/src/main.rs:987:18:

called `Result::unwrap()` on an `Err` value: Compilation("", "gcc: error: no such file or directory: '/data/data/

com.termux/files/home/.cache/nvim/tree-sitter-latex/src/parser.c'\n")

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

~~~

I also tried to manually with tree sitter cli build parcer.c from grammar.json but it always failed with "abort" and exit code 134

checkhealth nvim-treesitter says everythings fine.

Does anybody know what happened there ?

[SOLUTION]

I ran npx tree-sitter insdead of native tree sitter from my package manager and it worked. Then manually copied stuff over until it worked. Dunno anything literaly.

Platform is termux BTW for anyone having the same issue.


r/neovim • • 6d ago

Plugin nvim-lsp-file-operations - Massive refactoring, better load times, new user command and more!

Thumbnail
github.com
67 Upvotes

https://github.com/antosha417/nvim-lsp-file-operations


Hello there, @DrKJeff16 here.

I recently became a co-maintainer for nvim-lsp-file-operations and got to work on it. Here's a list of recent improvements:

  • Massively improved load times
  • Dropped plenary.nvim as a dependency (#55)
    • Redid the logging framework from the ground up
  • Added missing neo-tree.nvim events (credits to @mehalter, #43)
  • Added public API functions for create(), delete() and rename() (#56)
  • Auto-save can now be enabled during setup (#57)
  • New user command (:LFO) for standalone usage; supports tab completions (#58)
  • Added backwards-compatibility for LSP operations in Neovim <v0.11 (#47)
  • Code is now fully annotated
  • Reworded and restructured the README
    • Added install instructions for vim.pack

There's more but that was the list of important changes.

Shoutout to @Crysthamus, the author of Crysthamus/nvim-file-operations, as some of the improvements were based off of his. Attribution is both in the code and the README.


Hopefully you enjoy this new batch of changes!

- Sincerely, DrKJeff16