Commit graph

856 commits

Author SHA1 Message Date
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
616c4f003c nvim: lsp: Increase value of debounce didChange notifications 2021-09-25 13:21:01 +05:30
469e36756b nvim: lsp: Drop custom preview function
Those functions do not work anymore. May be we will add it later
via https://github.com/rmagatti/goto-preview.
2021-09-25 13:21:01 +05:30
9ab36d4b1b nvim: lsp: Fix null-ls setup 2021-09-25 13:21:01 +05:30
350a6edd2c nvim: fugitive/git: Add git helper to push upstream
Now that we set push.default to nothing in our git configuration, add
a git helper to figure out the upstream for the current branch and push
it.
2021-09-25 13:21:01 +05:30
643e1be349 nvim: keymappings: Add mappings to paste from + & * register 2021-09-22 17:52:15 +05:30
130bf3e04d nvim: colors: yolokai: Update diagnostic highlight 2021-09-22 17:51:51 +05:30
71f5c334f1 nvim: plugins: Drop nvim-peekup
Does not work correctly and keeps pasting in the first window instead of
where the cursor is placed.
2021-09-21 11:02:25 +05:30
52ff789cf3 nvim: Switch to the maintained galaxyline fork
See
https://github.com/NTBBloodbath/galaxyline.nvim
https://www.reddit.com/r/neovim/comments/pq3zvq/galaxylinenvim_is_back/
2021-09-21 11:02:25 +05:30
b31aeaf597 nvim: Update packer 2021-09-21 11:02:25 +05:30
e1cfc0408d nvim: yolokai: Sync with nvim-highlite upstream 2021-09-13 18:00:40 +05:30
763f811931 nvim: after/plugin/haskell: Cleanup settings not required anymore
We dropped the Haskell syntax plugin for treesitter and also ghcid.
Remove settings which were for those plugins.
2021-09-11 11:57:10 +05:30
3edfac79b4 nvim: after/plugin/completion: Disable tags completion
We were using tags completion for C projects primarily but now that we
have enabled clangd LSP, disable tags based completion.
2021-09-10 14:06:59 +05:30
5b6685b165 nvim: lsp: Enable clangd for C and C++ 2021-09-10 14:06:59 +05:30
ccb4b4343d nvim: after/plugin: fugitive: Update key mappings 2021-09-10 13:41:24 +05:30
be257f67f0 nvim: Update packer 2021-09-06 14:51:16 +05:30
555026ef80 nvim: lsp: Sync nvim-lsp-ts-utils settings with upstream 2021-08-31 11:02:34 +05:30
44411a87e2 nvim: Update packer 2021-08-31 11:02:34 +05:30
9431ca8646 nvim: Update packer 2021-08-12 12:02:25 +05:30
88ed57fb8b nvim: keymappings: Enable escape and arrow keys
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.
2021-08-06 10:51:22 +05:30
8f5e45cb52 nvim: keymappings: Add mapping to copy to clipboard 2021-08-06 10:51:22 +05:30
26bc1e7e9c nvim: Update packer 2021-08-06 10:51:22 +05:30
bdc14d4ebc nvim: Add lightbulb for discoverable LSP code actions 2021-07-26 18:44:41 +05:30
b319398534 nvim: Update packer 2021-07-25 11:42:33 +05:30
3e7fd609ec nvim: lsp: Sync nvim-lsp-ts-utils configuration with upstream 2021-07-21 11:00:40 +05:30
d00bf90b30 nvim: after/plugin: nvimgdb: Update nvim-gdb configuration 2021-07-21 10:29:21 +05:30
c9cc36a499 nvim: Update packer 2021-07-20 21:01:22 +05:30
cc2bedbe5d nvim: keymappings: Add mappings to move lines 2021-07-20 21:01:13 +05:30
c646381a00 nvim: lsp: Add support for lua 2021-07-17 18:38:32 +05:30
c51261d94a nvim: Update packer 2021-07-16 10:54:46 +05:30
2a2f85b82e nvim: completion: Update nvim-compe settings
Sync with upstream. While at it, since we do not use autocomplete
anymore, change min_length to 1 to trigger completion easily.
2021-07-16 10:54:46 +05:30
efaba37bcf nvim: fugitive/git: Add helper to rename branch 2021-07-15 21:12:27 +05:30
4565822924 nvim: lsp: Switch to pylsp
pyls is deprecated and not supported in nvim-lspconfig anymore.

The supported python language server is here.
https://github.com/python-lsp/python-lsp-server
2021-07-15 18:13:52 +05:30
ed70d5a630 nvim: Update packer 2021-07-13 19:56:43 +05:30
a493297cae nvim: plugins: For handling files with ANSI escape sequences better 2021-07-12 12:23:52 +05:30
d3b8cec40a nvim: git: Add functionality to restore using git reflog 2021-07-09 10:34:12 +05:30
a85a76c3eb nvim: Update packer 2021-07-09 10:34:12 +05:30
8fc44227f2 nvim: after/plugin/completion: Disable autocomplete 2021-07-05 17:43:10 +05:30
119c91a6b7 nvim: plugins: Add nvim-gdb 2021-07-05 17:39:56 +05:30
ffadf1cf4f nvim: keymappings: Map ;; to :
Let's us get over the annoyance of having to press shift for using :.
2021-07-05 10:48:53 +05:30
6c3886aff0 nvim: Update packer 2021-07-05 10:48:53 +05:30
fff7723126 nvim: treesitter: Enable Haskell 2021-06-28 16:43:06 +05:30
112239bd31 nvim: plugins: Drop indentLine
indentLine seems to have general performance issues.
2021-06-26 11:19:47 +05:30
a51f16304c nvim: after/ftplugin: git: Do not set bufhidden to wipe
This resulted in not being able to go back to the previous buffer when
using something like git log which is not we want.
2021-06-23 12:30:18 +05:30
47065178c5 nvim: Update packer 2021-06-23 12:30:18 +05:30
6406ae8a71 nvim: plugins: Drop plugins
Drop plugins we never use anymore or got around to using.
2021-06-23 12:30:11 +05:30
44a39eee24 nvim: treesitter: Enable playground
Helps to see what treesitter queries are being made. Would be helpful in
tuning the color scheme.
2021-06-23 12:28:44 +05:30
0649b639da nvim: treesitter: Force nvim-treesitter to use a specific compiler
Required for Haskell. See
https://github.com/tree-sitter/tree-sitter-haskell#building-with-nvim-treesitter
2021-06-19 11:26:13 +05:30
a16c244fce nvim: autoload/ftplugin: git: Add rebase and merge helpers 2021-06-17 16:58:12 +05:30
108630d19c nvim: Move plugin configuration files to after/plugin
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.
2021-06-17 10:07:51 +05:30
ca9e0d1754 nvim: after/plugin: fzf: Move fzf configuration
Do all fzf configuration in after/plugin instead of lua/modules. While at
it, add functionality to add fzf items to the quickfix list.
2021-06-16 19:11:11 +05:30
aee5337f55 nvim: init: Drop exrc and secure
exrc is deprecated and not recommended. Accordingly also drop secure.

See
https://github.com/neovim/neovim/issues/5784#issuecomment-506993689
2021-06-16 12:55:44 +05:30
7fb370f824 nvim: lsp: Enable code lens support
Relevant PR
https://github.com/neovim/neovim/pull/13165
2021-06-15 15:41:28 +05:30
2fcdea1cb2 nvim: keymappings: Add a key mapping to help with opening vim docs 2021-06-15 09:56:23 +05:30
5d2d279e9e nvim: after/ftplugin: help: Add key mapping for closing help files 2021-06-15 08:34:27 +05:30
3d8ccb4f23 nvim: yolokai: Sync with nvim-highlite upstream 2021-06-15 08:34:27 +05:30
0eb9b86927 Revert "nvim: Fix accessing t_Co"
This reverts commit 72e3b80274.
2021-06-15 08:34:27 +05:30
ba3c62722b nvim: Update packer 2021-06-15 08:34:27 +05:30
e715f19d1e nvim: modules: Alignment cleanup
Slight OCD :).
2021-06-12 12:24:57 +05:30
8ad693d5bc nvim: init: Drop duplicate swapfile setting call 2021-06-10 18:30:31 +05:30
8be870b015 nvim: after/ftplugin: man: Set nobuflisted and bufhidden for man pages 2021-06-10 10:30:27 +05:30
511d5a17aa nvim: plugins: Add plenary and null-ls
nvim-lsp-ts-utils now has plenary and null-ls as a requirement.
2021-06-10 10:30:27 +05:30
9d6be2d56b nvim: Update packer 2021-06-10 10:30:27 +05:30
3942f04633 nvim: after/plugin: fugitve: Use gS mapping to stash file
While at it, use <Leader>G for :Git.
2021-06-07 20:54:41 +05:30
3a6b12d118 nvim: after/ftplugin: mail: Disable whitespace in mail
We do not care about whitespace when constructing replies from within
mutt.
2021-06-05 17:42:48 +05:30
3ba1673068 nvim: after/plugin: fugitive: Update gF and gE mapping
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.
2021-06-04 15:50:35 +05:30
65230f92a0 nvim: Update packer 2021-06-04 10:33:31 +05:30
e3df9adf91 nvim: after/ftplugin: C: Fix quickr cscope mappings
These seem to not work with nnoremap for some reason.
2021-06-03 20:55:19 +05:30
525d73373d nvim: after/ftplugin: Set wipe on bufhidden for dirvish and gitcommit 2021-06-02 13:54:26 +05:30
d7ff7f1ec2 nvim: after/ftplugin: Fix various key mappings
Also see the previous commit for more context.
2021-05-29 13:39:44 +05:30
efe3e7e517 Revert "nvim: after: ftplugin: Fix various key mappings"
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.
2021-05-29 13:39:44 +05:30
4e2abc80df nvim: after/ftplugin: gitrebase: Add vim-interactive-rebase-reverse
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.
2021-05-29 13:39:44 +05:30
72e3b80274 nvim: Fix accessing t_Co
With neovim/neovim#13479 merged, window option needs to be used for
accessing t_Co correctly.
2021-05-29 13:33:32 +05:30
fbce78c346 nvim: init: Use vim.o for setting all options
Works exactly the same as `set` after neovim/neovim#13479.
2021-05-29 13:32:43 +05:30
ac3cb2e828 nvim: Update packer 2021-05-29 10:50:43 +05:30
748fd222da nvim: after/ftplugin: Use 'wipe' for bufhidden 2021-05-25 11:39:40 +05:30
f088e258da nvim: after/plugin/fugitive: Add some more key mappings 2021-05-25 10:48:33 +05:30
a567150a64 Revert "nvim: after/ftplugin: javascript: Add keymapping to invoke prettier"
This reverts commit 1ba2fee97d.

Now that we enable nvim-lsp-ts-utils, this is not required anymore.
2021-05-24 17:20:23 +05:30
7383245dd3 nvim: plugins/lsp: Add nvim-lsp-ts-utils 2021-05-24 17:20:23 +05:30
25afe0527c nvim: keymappings: Add a key mapping to select last pasted/yanked text 2021-05-24 15:59:29 +05:30
66f07fba89 nvim: plugins/treesitter: Enable treesitter text objects 2021-05-22 15:30:52 +05:30
f846dace39 nvim: keymappings: Drop mapping for copying whole buffer
Now that we have a text object for the whole buffer, this is not
required anymore.
2021-05-21 15:40:11 +05:30
66b022dcb0 nvim: plugins: Add various text object plugins 2021-05-21 11:16:43 +05:30
847dd90e2d nvim: Update packer 2021-05-21 10:02:13 +05:30
9b639279d9 nvim: after/plugin: Add j and k motion to the jump list 2021-05-18 19:40:03 +05:30
f05e5bcd5d nvim: after/plugin: fugitive: Add a key mapping for Gedit
Gedit is helpful to open up previous versions of the file. For example,
:Gedit HEAD~3:% loads the current file as it existed 3 commits ago.
2021-05-18 13:11:23 +05:30
9848348881 nvim: plugins: Drop all LISP support
Flights of fancy. Thought I will learn LISP but dynamically typed
languages are just annoying to work with.
2021-05-17 20:39:46 +05:30
5462060452 nvim: plugins: Drop rainbow
Does not really work with treesitter.

There is nvim-ts-rainbow but it seems to have performance problems.
https://github.com/p00f/nvim-ts-rainbow/issues/5
2021-05-17 20:38:09 +05:30
2031d90b49 nvim: after/ftplugin: python: Set textwidth to 0
Let the formatter decide how to wrap lines.
2021-05-17 13:41:02 +05:30
87c23e3bbc nvim: after/plugin: vsnip: Fix conflicting key mapping with sneak 2021-05-17 10:34:43 +05:30
3b163a4a5a nvim: Update packer 2021-05-17 10:34:30 +05:30
04b2a511e1 nvim: treesitter: Add fish and nix
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.
2021-05-14 19:36:43 +05:30
58fe622b66 nvim: init: Align to look nice 2021-05-14 18:04:55 +05:30
ed8fd2a359 nvim: plugins: Drop textobj-word-column
Does not seem to work as expected due to possible conflict with targets.
2021-05-14 17:12:58 +05:30
e909c059a4 nvim: modules: completion: min_length needs to be 2
This is required if we want completion to trigger on identifiers like
'if' to be able to select snippets.
2021-05-14 16:34:25 +05:30
08df60f731 nvim: after: git/fugitive: Add settings and mappings to not leave buffers behind 2021-05-14 16:34:25 +05:30
a9c91c06e4 nvim: autoload: git: Use bwipeout instead of bdelete
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.
2021-05-14 16:33:45 +05:30
8694445d2d nvim: after: plugin/ftplugin: Drop unnecessary maps
Fugitive/vim already provides the necessary mappings. No need for
mapping these.
2021-05-14 13:46:25 +05:30
7767b23f69 nvim: plugins: Drop conflict-marker
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.
2021-05-14 13:13:43 +05:30
d3a0883851 nvim: Update packer 2021-05-14 10:25:01 +05:30
e24fc200ec nvim: Add support for using snippets 2021-05-13 21:07:42 +05:30
ca46007f89 nvim: lsp: Debounce didChange notifications to the server 2021-05-13 21:07:42 +05:30
1c9b8aae40 nvim: plugins: Add support for Coq 2021-05-13 19:38:37 +05:30
1ba2fee97d nvim: after/ftplugin: javascript: Add keymapping to invoke prettier
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.
2021-05-13 17:01:29 +05:30
aa1bdca912 nvim: plugins: Drop guile support
We added this to explore guix but lost interest. Also no time. Will only
explore racket if at all.
2021-05-12 19:23:36 +05:30
d2889ad053 nvim: init: Use lua style code for sneak settings 2021-05-12 18:38:59 +05:30
c768cd89f1 nvim: lsp: Remove LSP workspace mappings
We never seem to need those.
2021-05-12 18:06:12 +05:30
2eea1feb69 nvim: keymappings/plugins: Add support for marks and registers
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.
2021-05-12 18:06:12 +05:30
49c9fd9a2c nvim: modules: workspace: Drop key mapping for toggling workspace
Rather than waste a key mapping starting with 'p', we can call this
ourselves when required.
2021-05-12 18:06:12 +05:30
0d806355ab nvim: keymappings: Add helpful mappings for visual block shift & buffer copy 2021-05-08 14:40:12 +05:30
16a797df6f nvim: modules: fzf: Use the leader 'fm' mapping for marks 2021-05-08 14:40:04 +05:30
048095bb2e nvim: Update mappings for ferret 2021-05-08 14:40:04 +05:30
91604ca16c nvim: lsp/plugins: Add support for automatically showing fn signature 2021-05-08 14:39:58 +05:30
a899271748 nvim: plugins: Search in visual mode using * and # 2021-05-08 14:39:52 +05:30
e8a1135b24 nvim: Update packer 2021-05-08 14:39:52 +05:30
3efb1c1c94 nvim: plugins: Drop aniseed
It's really not required and we do not intend to write out nvim
configuration in fennel either. Conjure support for lisp is enough.
2021-05-08 14:39:45 +05:30
d5be9384ed nvim: lua: plugins: Update aniseed and conjure 2021-05-05 20:58:38 +05:30
f030b39a3e nvim: init: Use zathura as PDF viewer 2021-05-03 19:58:06 +05:30
b064bb14a9 nvim: lua: plugins: Add diffview
Also add a helper on lines similar to Git difftool from fugitive.
2021-05-03 19:25:38 +05:30
5ce14b4cc7 nvim: Update packer 2021-05-03 11:01:01 +05:30
e6397864d0 nvim: after: ftplugin: Fix various key mappings
Make sure we use <buffer> to make a local mapping just for the active
buffer.
2021-05-02 19:23:57 +05:30
5398b83200 nvim: after: ftplugin: Fix various auto commands usage
Fix missing clearing of auto commands in various file type plugins.
2021-05-02 19:23:57 +05:30
d7c2ca6e43 nvim: ftplugin/autoload: C: Run gst-indent on save 2021-05-02 19:23:57 +05:30
893b06defb nvim: colors: yolokai: Update color highlight for LineNr & SignColumn 2021-05-02 15:08:09 +05:30
b36197fbe8 nvim: init: Enable relativenumber 2021-05-02 13:29:38 +05:30
b6e2f23516 nvim: lua: autocmd: Fix highlight on yank autocmd
Still does not seem to work though 🤔.
2021-05-02 13:16:29 +05:30
734eda3f37 nvim: lua: statusline: Sync with galaxyline changes upstream 2021-05-01 16:37:00 +05:30
574b6f5343 nvim: Update packer 2021-05-01 10:32:08 +05:30
32fba27008 nvim: colors: yolokai: Change WhichKeySeperator color 2021-04-30 14:14:48 +05:30
3c3558b3d0 Revert "nvim: lua: plugins/colors: Switch to which-key.nvim"
This reverts commit 86de71d5da.

This plugin seems to create problems for things that should work. For
example, trying to paste with 'p' triggers which-key when it should not.
Disabling everything in setup except for Leader prefixed keys does not
work either.
2021-04-30 14:14:48 +05:30
86de71d5da nvim: lua: plugins/colors: Switch to which-key.nvim 2021-04-29 19:41:30 +05:30
07bd4e8592 nvim: lua: plugins: Drop hlslens 2021-04-29 13:41:19 +05:30
9d3efb1a3c nvim: lua: autocmd: Drop scrollbar autocmd
Should have been cleaned as part of 5058b6b.
2021-04-29 10:58:41 +05:30
9abfcaeeca nvim: Update packer 2021-04-29 10:58:41 +05:30
db6657f3ce nvim: init: Fix option settings
Some options need to be set for both vim.bo (for the current buffer) and
vim.o (for newly opened buffers). This is required till the below PR
gets merged.
https://github.com/neovim/neovim/pull/13479
2021-04-28 11:06:46 +05:30
053ddbf55e nvim: lua: plugins: Drop vim-tmux-focus-events
This plugin is now obsolete and no longer needed as both neovim and vim
(since version 8.2.2345) have native support for this functionality.
2021-04-28 10:58:39 +05:30
10237ec093 nvim: lua: plugins: Drop nvim-bqf and add back QFEnter
With nvim-bqf when opening the quickfix list, it jumps around the opened
buffers. For example, when calling LSP reference on a variable in buffer
one, it jumps to buffer three after the quickfix list opens. This is
annoying, so dump it. The preview feature has not been that helpful
anyways.
2021-04-28 10:58:12 +05:30
5005a2b558 nvim: Update packer 2021-04-28 10:58:12 +05:30
b9e5fb64bf nvim: fugitive: Refactor and add some more git helpers 2021-04-27 09:29:41 +05:30
baa70ee678 nvim: keymappings: Add a useful mapping for closing tabs 2021-04-22 10:55:37 +05:30
82bc7524b1 nvim: Update packer 2021-04-20 11:32:14 +05:30
c8b64ae94f Revert "nvim: keymappings: Do not use 'jk' for Esc anymore"
This reverts commit 915a5427e3.
2021-04-19 12:20:00 +05:30
765eec81b6 nvim: after: fugitive: Update key mappings 2021-04-19 12:20:00 +05:30