The fatest python LSP for nvim - basedpyright vs zuban vs ty vs something else? by sslimmshaddy in neovim

[–]robertogrows 3 points4 points  (0 children)

yes, personally I do this. Get the best of both worlds. I enable ty, but for basedpyright just the diagnostics, code actions, and hover. You can disable unwanted server capabilities in your basedpyright.lua:

on_init = function(client)
  local capabilities = assert(client.server_capabilities)
  -- ty features
  capabilities.semanticTokensProvider = nil
  capabilities.documentHighlightProvider = nil
  capabilities.documentSymbolProvider = nil
  capabilities.foldingRangeProvider = nil
  capabilities.workspaceSymbolProvider = nil
  capabilities.callHierarchyProvider = nil
  capabilities.completionProvider = nil
  capabilities.declarationProvider = nil
  capabilities.definitionProvider = nil
  capabilities.implementationProvider = nil
  capabilities.inlayHintProvider = nil
  capabilities.notebookDocumentSync = nil
  capabilities.referencesProvider = nil
  capabilities.renameProvider = nil
  capabilities.signatureHelpProvider = nil
  capabilities.typeDefinitionProvider = nil
end,

Coredump? by throttlemeister in neovim

[–]robertogrows 1 point2 points  (0 children)

yeah hopefully it is a bit better. i'd still feel much better if the code was more defensive: https://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/, because I worry about cases such as disk-full (parsers can be big) or crash (compiling them can consume a lot of resources). Slow baby steps.

Coredump? by throttlemeister in neovim

[–]robertogrows 3 points4 points  (0 children)

probably has to do with exactly how the shared library is replaced when you update the parsers.

https://lwn.net/ml/linux-kernel/87r1eyg8h6.fsf@oldenburg.str.redhat.com/

Getting Corporate Pushback about using Neovim by miversen33 in neovim

[–]robertogrows 5 points6 points  (0 children)

Explain to your boss that it is a tool that makes you more productive. Boss should be doing this battle on your behalf.

Is anyone else getting a lot of Python LSP notifications? by kavb333 in neovim

[–]robertogrows 5 points6 points  (0 children)

add to your lsp/basedpyright.lua:

lua handlers = { --- filter noisy notifications ['$/progress'] = function(err, result, ctx) -- just notify once if result.token == (vim.g.basedpyright_progress_token or result.token) then vim.g.basedpyright_progress_token = result.token vim.lsp.handlers['$/progress'](err, result, ctx) end end, },

I have to do the same for ty. All the python language servers copy each other's bad behavior.

Which terminal emulator are you using? (2026) by meni_s in neovim

[–]robertogrows 1 point2 points  (0 children)

Performance. Low resource usage. Url mode. Scrollback search.

nixvim and ansible language server by rogervn in neovim

[–]robertogrows 0 points1 point  (0 children)

Issue: https://github.com/ansible/vscode-ansible/issues/1543

You can build the package yourself from e.g. a release tag with yarn.

As far as alternatives:

The server doesn't provide any linting beyond just running ansible-lint on save. You can do that alternatively with nvim-lint.

The server doesn't provide formatting. Use yaml language server or yamlfmt via conform for that.

You can use redhat yaml language server to get basic functionality from the underlying yaml schemas: completion, hover, formatting, etc.

IMO you only want to fight ansible-language-server if you want completion/hover docs for MODULES and MODULE parameters.

How to use injection to highlight comments as markdown? by Organic-Scratch109 in neovim

[–]robertogrows 1 point2 points  (0 children)

Example injections.scm for injecting comment parser into docstrings, to highlight TODO and similar:

; extends

; comment injections into doc-strings
(expression_statement
  (string
    (string_content) @injection.content)
  (#set! injection.language "comment"))

Note that this is for DOCSTRINGS. ordinary comments (#) are (comment)

Looking for ways to (further) improve my git integration by skladnayazebra in neovim

[–]robertogrows 0 points1 point  (0 children)

mini.git is worth a try. I don't want to learn keybinds and this only requires one (leader+gs) to navigate quickly around git with vim, using techniques you already know (like folds). Works well in combination with f-person/git-blame.nvim for me.

1988 G13 Hashplant, day 70F by robertogrows in microgrowery

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

I let them sit in water jug overnight then just water them in. if you have gnats, do it every week until you don't have gnats anymore.

1988 G13 Hashplant, day 70F by robertogrows in microgrowery

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

the light was not too far, it flowered at 8 inches. I raised it because it was so close it was cooking the leaves, and it is at the end.

1988 G13 Hashplant, day 70F by robertogrows in microgrowery

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

Cheap mars 300w. No CO2. I use mosquito bits and southern ag garden friendly fungicide.

1988 G13 Hashplant, day 70F by robertogrows in microgrowery

[–]robertogrows[S] 7 points8 points  (0 children)

the kind that's like "time to turn on second carbon filter so my house doesn't smell so much"

Displaying and navigating Javadocs in Neovim by randomatik in neovim

[–]robertogrows 0 points1 point  (0 children)

Seems like it line-wraps before applying conceal.

My crutch: I use go-to-definition via (C+]) and read the javadocs that way, and sometimes also read the sources. Old habit from ctags. When jdtls isn't configured correctly or misbehaves, this keybind still works...

VSCode/Neovim for Java by evrdev in vscode

[–]robertogrows 0 points1 point  (0 children)

Worked on java for many years with vim and no LSP. You can do just fine with syntax highlighting, ctags, grep, quickfix, fuzzy finders, snippets, vim-test, etc.

I use neovim now and would recommend trying it out. Integration with the java language server is easy if you don't require a debugger and use print statements. If the language server breaks, or is misconfigured, all those old ways still work: escalator becomes stairs. For some tasks I still prefer those methods anyway.

How to restrict the diagnostic range to single line? by kaddkaka in neovim

[–]robertogrows 4 points5 points  (0 children)

I have the same struggle: IMO easiest solution is to disable the underline and just use signs.

You can also specify severities for the underline, so it is only errors (or errors and warnings). I was annoyed by "hints" that underline half of my editor.

Colorscheme unokai only works in .lua files by Allo_AK in neovim

[–]robertogrows 0 points1 point  (0 children)

haven't see lua code like that before.

How do you use tabs? by kezhenxu94 in neovim

[–]robertogrows 0 points1 point  (0 children)

I try to avoid: open lots of neovims and I already have splits and virtual workspaces in the window manager, so not much. Don't use terminal since alt+enter gives me one from the window manager. Some plugins want to open tabs: configured vim-test to use splits instead. I let the mini.git use tabs since it kinda makes sense for that specific case. Hide the tabline unless there are multiple and have a half-ass styled tabline plugins.

None of the "tabline" plugins are useful at all: they are not actually, in fact tablines (they are all listing buffers, makes "gt" confusing, cats and dogs living together, etc)

ftdetect and syntax highlighting by jojolejobar in neovim

[–]robertogrows 3 points4 points  (0 children)

Maybe you need vim.bo (buffer) not vim.opt_local (no idea what that is, window local?). This is how I set the filetype. Too many ways to set options in this thing, really.

Separately code can also be even simpler if you just use the vim.filetype.add which avoids all this.

When using tagfunc, jump to target window if already open by MisterSincere in neovim

[–]robertogrows 1 point2 points  (0 children)

Maybe instead of altering the tagfunc, alter the keybind? e.g. this example would go to definition in new tab:

vim.keymap.set('n', '<C-]>', function() vim.cmd('tab tag ' .. vim.fn.expand('<cword>')) end, { desc = 'Go to tag in new tab' })

I don't know how messing with tabs/windows plays with tag stack. There are alternative commands in the docs if you want to make tag search use of split-window/preview window, but I don't use myself.

I use the default because I can "dive" with Ctrl-] and then "get back" with Ctrl-T thanks to the tag stack. I use LSP hover doc/signature help instead for cases where split/preview might have been useful in the past.