This allows us to generate a breakpoint location we can use in the gdb
command file or on command line and also copies it to the clipboard thus
allowing us to easily paste it.
Support for use of floating windows for completion menus landed
upstream. It introduced a new feature but also broke things. Having
native_menu set completely breaks auto completion.
While at it, add mapping for scrolling docs. Also add support for it
in color scheme.
The signature help sometimes stays open even after moving away from
the function. Sometimes it conflicts with the auto completion pop-up
making it difficult to see one of the two windows.
termdebug seems good enough so just drop this. Or we will use nvim-dap
if needed. However, termdebug should be enough really. We also just
found gdb-dashboard which seems great adding just the necessary UI bits.
The required capabilities to be set are already correctly set by
nvim-cmp, no need to set them again. We had added that to enable rust
snippet expansion earlier.
Also see older revisions of this document.
https://github.com/neovim/nvim-lspconfig/wiki/Snippets
vim.diagnostic framework is now available and can be used outside of
LSP. This means the same functions can now work for plugins providing
diagnostics via this framework like nvim-lint and null-ls.
With LSP providing formatting have not used this in more than a year.
Just drop it. Also it is pretty stupid to look for everything global &
not use language build tool to pick the correct formatter and its
configuration.
Now that we have migrated to clang LSP for C, the only reason for
keeping it around was using it to find files in gst-build repository
which was structured in such a way that fzf and rg could not be used.
Now that GStreamer has moved to monorepo setup, we can use fzf and
rg just like in any project. No need for cscope anymore.
With the move to nvim-cmp these vsnip key mappings are not required
anymore. The completion and expansion gets taken care of by nvim-cmp.
Just move the vsnip_filetypes settings to init.
For some reason without adding the snippets to the runtime path,
snippets do now show up in completion.
Found the solution here though the issue is on Ultisnips
https://github.com/hrsh7th/nvim-cmp/issues/241
nvim-compe has been deprecated. While we tried to make it a few days
without any completion support, in javascript/typescript could not get
the default omnicompletion to work at all. It is possible that this
could be due to nvim-lsp-ts-utils/null-ls but who is gonna debug.
Also tried MUcomplete but it just would not work. There are open issues
on this. See https://github.com/neovim/neovim/issues/12390 and also
https://github.com/lifepillar/vim-mucomplete/issues/179.
So here we are with nvim-cmp. Some observations in comparison to compe
before. Using buffer completion seems not possible as most of the times
LSP completion items then do not turn up. Do not know if this is server
specific but at least it is the case with Rust. compe seemed better
performance wise especially in tsserver and considering the buffer
problem mentioned above. Also, even with vsnip added as the completion
source can't seem to get any snippet specific completions working.
Could have ditched all completion support if I did not have to use
tsserver but need it for work currently. So we will stick to enabling
this and hopefully it improves in future.
Fuck nodejs, javascript and typescript.
For references see,
https://github.com/kristijanhusak/neovim-confighttps://github.com/sQVe/dotfiles/tree/master/config/nvim
47b1578 did not actually fix it. We need to keep using 'gq' but actually
correctly specify whether we want normal or visual mode. Also disable
range formatting explicitly for tsserver.
If range formatting is supported we should check that first to enable
it else since most LSP servers support formatting, without range
formatting check being first, it would never be enabled.
Now that we use Planck EZ as our main keyboard with Colemak as the
layout, allow use of escape and arrow keys. HJKL are not usable the
same way as before.
Now that neovim runtime can also source lua files from traditional vim
runtime directories like after/plugin/ftplugin etc, move all plugin
configuration files to after/plugin.
Often it is convenient to merge remote branch origin/foo into local
branch foo, without having to checkout foo first. Use gF mapping for
the same.
One may edit alternate versions of the file in different branches using
:Gedit <branch>:/path/to/file. Use gE mapping for the same.
This reverts commit e6397864d0.
This was actually wrong. nnoremap should be always what we want. For
example, this broke the <Leader>r mapping for gitrebase and would invoke
:Reword from lambdalisue/reword.vim.
The plugin is a pretty small ftplugin. Just add it to our ftplugin.
This also fixes the issue where this plugin did not take affect
when using interactive rebase from within fugitive.
Drop the syntax highlighting plugins for fish and nix and switch to
treesitter. The ftdetect is taken from the respective plugins.
We might need to add the indent specific scripts for fish and nix
later since we are not enabling indent with treesitter.
Really delete the buffer. If bdelete is used, we can still go back to
the previous buffer using <C-^> which we do not want. Basically we do
not want a fugitive git buffer to become alternate-file.
See :help alternate-file.
We have been mostly relying on diffconflicts plugin to resolve merge
conflicts. For complex merge conflicts, it becomes difficult to
understand which conflict hunk to pick. The syntax highlighting also
stopped taking effect due to treesitter probably. So just drop this.
Introducing a mapping to jump among conflicts would be helpful.
We let the syntax highlighting entries in our color scheme be, just
in case we decide to revisit this.
Different prettier versions format differently. Add a keymapping to
invoke the project local prettier. Using Neoformat prettier uses the
global install prettier which can give different results.
We drop vim-system-copy and will explicitly use registers when required.
Add nvim-peekup to help with registers and vim-signature for marks. Some
additional helper bindings for working with marks are added as well.