Commit graph

1128 commits

Author SHA1 Message Date
bcf24ef5f6 git: Ignore gdb log and history files 2021-10-07 15:32:14 +05:30
054e9998dd tmux: Update plugins 2021-10-07 12:34:00 +05:30
bf9e2bf54c fish: Add aliases for cargo build commands 2021-10-06 09:55:06 +05:30
a8d0a43556 nvim: plugins: Add toggleterm
Serves as a good replacement to floaterm.
2021-10-05 15:44:29 +05:30
2c0a4473f6 sway: Fix gst-launch outputs to workspace 4 2021-10-05 15:44:29 +05:30
c237a19e0b nvim: plugins: Drop floaterm
See the previous commit for the reason of dropping this.
2021-10-05 12:59:43 +05:30
241894eb50 fish: Use nvr instead of floaterm
nvr seems to allow opening a file at specified line just like with
regular nvim which seems to not work for floaterm. So when in neovim
terminal vgrep -s opens the file at correct line while in floaterm it
just opens the file and puts us at the first line. Basically something
like nvim +99 file.c does not work for floaterm.
2021-10-05 12:59:43 +05:30
0b7a19555a gdb: Add gdb configuration based on gdb-dashboard
For the most part adapted from
https://gavinhoward.com/2020/12/my-development-environment-and-how-i-got-there/

Also contains support for opening current line in neovim.

This assumes we are running inside neovim terminal and hence the use of
nvr viz. neovim-remote. We will try adding support for kitty window and
single instances later if possible.
2021-10-05 12:58:49 +05:30
79e4022b0e nvim: plugins: Drop nvim-gdb
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.
2021-10-04 09:56:37 +05:30
b7036e5bfe nvim: plugins: Drop vim-togglelist
Was never really needed. Can just use open and close for quickfix and
location list.
2021-10-03 13:10:43 +05:30
b04ecb9541 nvim: lsp: Remove redundant capabilities settings
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
2021-10-03 12:46:40 +05:30
cf78dcae4d nvim: lsp: Fix diagnostic errors 2021-10-02 18:49:02 +05:30
8aa4fc2f76 nvim: lsp: Enable shellcheck as diagnostics source for null-ls 2021-10-02 18:29:57 +05:30
068dfcd4b9 nvim: lsp/keymappings: Move the diagnostic key mappings outside of LSP
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.
2021-10-02 18:29:57 +05:30
ff93725694 nvim: treesitter: Update treesitter configuration 2021-10-02 17:19:34 +05:30
2ff1ba46e1 nvim: plugins: Add TSUpdate as post install hook for treesitter 2021-10-02 17:19:34 +05:30
ef61388c72 nvim: plugins: Drop neoformat
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.
2021-10-02 17:19:34 +05:30
891fae907b nvim: plugin: Add a simple whitespace plugin
Now that we dropped vim-better-whitespace just add something simple to
strip whitespace if we do ever need it.
2021-10-02 16:14:31 +05:30
8a43a1c14f nvim: keymappings: Drop mapping to save
We have a keyboard macro to do this.
2021-10-02 13:03:12 +05:30
331885ea25 nvim: plugins: Drop vim-better-whitespace
Using formatter already does this, so drop it.
2021-10-02 12:45:08 +05:30
05194ded3a nvim: plugins: Load AnsiEsc plugin only on AnsiEsc command 2021-10-02 11:06:23 +05:30
95d5a10abc nvim: plugins: Drop SyntaxAttr 2021-10-02 11:06:23 +05:30
ae4edc5bed nvim: plugins: Drop unneeded text object plugins 2021-10-02 10:05:12 +05:30
2a07f71c6f gitignore: Ignore everything in path packer/opt 2021-10-02 10:05:12 +05:30
6613689352 nvim: after/plugin/which-key: Add triggers blacklist
We have some mappings starting with p and need to blacklist in which key
without which using paste 'p' becomes impossible.
2021-10-01 14:55:30 +05:30
31780f0c25 nvim: keymappings: Drop highlight search mapping
<C-l> now clears search highlight and update diffs and is mapped by
default.

See
https://github.com/neovim/neovim/issues/14090#issuecomment-901882455.
2021-10-01 14:55:30 +05:30
a668139491 nvim: after/ftplugin/C: Add a key mapping for ClangSwitchSourceHeader
This allows us to switch seamlessly between source and header file.

Its provided by nvim-lspconfig. See
https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/clangd.lua
2021-10-01 10:00:13 +05:30
62e99dd1f0 nvim: after/ftplugin/C: Drop unneeded settings
Do not know what advantage if any these settings will bring anymore.
2021-09-30 14:20:42 +05:30
4b8caad3b6 nvim: plugins: Drop cscope
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.
2021-09-30 14:20:42 +05:30
0a21f7d979 nvim: lsp: Explicitly set the log level 2021-09-30 13:55:49 +05:30
4b6bd7e7ed nvim: after/plugin/fugitive: Add key mappings for git log grep
Usage:
$ git log --grep=word
$ git log -Gword
2021-09-29 11:42:52 +05:30
8aaccc4f16 nvim: lsp: Refactor and alignment clean ups 2021-09-27 18:46:55 +05:30
9de5a7de76 nvim: after/plugin/vsnip: Keymap settings are not required 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.
2021-09-27 18:46:55 +05:30
b6063211f7 nvim: plugins: Fix snippets not showing up in completion
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
2021-09-27 16:40:55 +05:30
be02b5ead7 nvim: Switch to nvim-cmp
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-config
https://github.com/sQVe/dotfiles/tree/master/config/nvim
2021-09-27 16:29:18 +05:30
b95a14b8d1 nvim: lsp: Fix enabling of range format support again!
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.
2021-09-27 15:23:12 +05:30
d7fbe762c5 nvim: Update packer 2021-09-27 13:50:59 +05:30
c781b15582 nvim: Drop signify and switch to gitsigns
signify seems to be giving an error after somewhat long usage of
"E489: too many highlight and syntax groups".
2021-09-27 13:14:27 +05:30
91eecec611 nvim: keymappings: Drop the mapping for help 2021-09-27 13:14:27 +05:30
975e6a646e nvim: plugins: Switch from vim-which-key to which-key 2021-09-27 13:14:20 +05:30
00670a867f nvim: lsp: Enable rust-tools for inlay hints 2021-09-27 12:31:27 +05:30
0aa93c6e9b nvim: init: Always enable the signcolumn
Have a fixed column for the diagnostics to appear in as this removes
the jitter when warnings/errors flow in.

Recommended here
https://sharksforarms.dev/posts/neovim-rust/
2021-09-26 12:06:16 +05:30
97db1c6c9d nvim: keymappings: Enable unique and refactor/cleanup
Enable unique to detect and avoid conflicting key mappings.
2021-09-26 11:51:04 +05:30
6223b802ce nvim: after/ftplugin/c: Fix conflicting mapping
,d cscope mapping conflicts with the LSP diagnostic mapping.
2021-09-26 11:51:04 +05:30
f7d12b27d3 nvim: lsp: Alignment cleanup 2021-09-26 11:50:36 +05:30
55356513a9 nvim: after/plugin/easyalign: Fix conflicting mapping
'ga' mapping conflicts with the LSP code action mapping.
2021-09-25 18:31:10 +05:30
47b157805d nvim: lsp: Fix enabling of range format support
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.
2021-09-25 18:21:51 +05:30
8801b26fa9 nvim: lsp: Add range formatting with motion 2021-09-25 15:26:52 +05:30
eebffce98e nvim: lsp: Add back custom preview function
Follow up to 469e367.
2021-09-25 15:26:52 +05:30
f01b1d6a52 nvim: lsp: Use Leader k mapping for LSP hover
While at it, align code to look nice.
2021-09-25 15:13:49 +05:30