Commit graph

96 commits

Author SHA1 Message Date
054b3188ce nvim: ftplugin: markdown: Update pandoc settings
Use citeproc as backend for bibliographic completion. The embedded
language setting is required to highlight the language blocks.
2021-01-13 16:16:49 +05:30
757b29b026 nvim: Allow doing commits from within floating terminal
With this we can invoke git commit and not have a nested neovim
instance. This also makes 'C' option in lazygit to work properly
when lazygit is being used from the floating terminal with floaterm.
2021-01-09 17:21:17 +05:30
39405e8cab nvim: ftplugin: Add & fix mapping for jumping between changes 2021-01-09 17:01:37 +05:30
3f6d104eb0 nvim: markdown: Set formatting mode to hard wrap with smart auto formatting 2020-12-23 20:02:51 +05:30
8e07da50c9 nvim: Add pandoc support 2020-12-14 12:41:35 +05:30
432cb2c98f nvim: after: ftplugin: txt: Set textwidth to 78 2020-11-17 10:45:51 +05:30
6b36e648d9 nvim: after: ftplugin: C: Do not enable folds 2020-11-06 12:28:17 +05:30
acb5bfcf05 nvim: ftplugin: C: Update tag generation command
For correct preview with FZFTags, this is needed to help locate the line
position of the tag.
2020-11-05 19:17:54 +05:30
7bc8295486 nvim: Clean up commands for searching word under cursor 2020-11-05 18:58:37 +05:30
2c5c6b7c1a nvim: Drop tabular 2020-10-30 16:37:06 +05:30
cbd37c1856 nvim: Move to packer 2020-10-29 21:06:46 +05:30
b1c51c6e83 nvim: Migrate from vim-plug to paq-nvim 2020-10-24 11:06:27 +05:30
6bffe738c9 after: ftplugin: Set textwidth & wrapmargin to 0 for meson & configure files 2020-10-20 13:08:39 +05:30
682c735651 nvim: after: ftplugin: Clean up Haskell 2020-09-24 17:00:06 +05:30
3bc32b2e34 nvim: after: ftplugin: Drop rust
We dropped neomake long back and this should have been dropped with
467a660409.
2020-09-24 16:55:56 +05:30
7e575f9ca4 nvim: after: ftplugin: Drop CPP
The settings done in this file where specific to syntax plugins which we
do not use anymore and should have been dropped with af410754a4.
2020-09-24 16:53:04 +05:30
c25188661b nvim: Add fzf-preview
This plugin provides support for Quickfix and Location list along with
previews. Also, does not do fuzzy match on file names which is useful.
Move some of the commands from fzf to fzf-preview as it provides
previews for those as well.

Using pedit for previews for quickfix list wasn't super comfortable.
Drop it, now that we have quickfix preview with fzf-preview.
2020-09-22 20:33:49 +05:30
78447af8df nvim: after: ftplugin: C: Set makeprg to ninja
For C, we now work on pulseaudio, gstreamer and pipewire projects which
all use meson and ninja, so set makeprg to ninja build command.
2020-09-22 12:58:36 +05:30
9fe8808e7e nvim: ftplugin: haskell: Assume hasktags & hlint are available in path
We assume these are installed via nix and available globally. hasktags
and haskdogs do not build with stack on ghc8.8 and hence this switch.
With nix, haskdogs gives an issue due to locale like is also observed
when stack is installed via nix. codex does not seem to generate tags
which work.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-11 13:12:39 +05:30
aa99ea7e0c nvim: Drop quickui
Revert 13cea58905. This does not play well with defined color scheme and
overrides it which is annoying. The VimEnter approach mentioned did not
work, so just drop it and use preview windows as earlier.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-07 20:54:46 +05:30
8b9e46b8b8 nvim: Switch to using a color scheme template engine
Use this color scheme template to have a proper custom monokai color
scheme variant.
https://github.com/Iron-E/nvim-highlite

We will call it yolokai. YOLO monokai. While at it, drop all earlier
ones.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-07 16:34:51 +05:30
13cea58905 nvim: Add back quickui again for floating preview windows
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-21 09:51:12 +05:30
c6bb3ecdfc nvim: after: ftplugin: Add n & S fields when generating tags
n will tell ctags add a line number filed in each tag record
and S means including function signatures.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-20 14:46:12 +05:30
254e6754b9 nvim: after: ftplugin: qf: Always open QF window at bottom
This got mistakenly dropped by commit 8ea80b9af7.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-19 10:53:44 +05:30
8ea80b9af7 nvim: Switch to ferret & drop our bare bones grepper
See ferret's README for the advantages.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-14 11:22:03 +05:30
fa04744c9a nvim: Enable purescript language server
This does not perform any better than purs ide and psc-ide-vim could not
jump to definitions in other components which is the same case here.
But, at least we now need one less package and additional bindings for
psc-ide-vim.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-03 14:26:19 +05:30
f40584b6a9 nvim: Enable LSP support for Haskell
With ghcide release v0.2.0 adding multi-component support this should
work more widely now. We still can have tags, so change the key binding
for jump to definition and drop key binding K for Hoogle.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-03 12:35:15 +05:30
a20fa4494c nvim: Update to some keymappings for git and drop gina
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 10:31:06 +05:30
901c4cd1fd nvim: after: ftplugin: C: Set colorscheme to wombat
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 19:09:48 +05:30
69654597d2 nvim: Use in built LSP for rust
While at it, use wombat colorscheme for Rust.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 16:57:26 +05:30
96127801a7 nvim: after: ftplugin: purescript: Update some keymappings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 16:15:57 +05:30
7a9e5f3b7d nvim: Move the QF autocmd to it's ftplugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 18:19:01 +05:30
5e5b331986 nvim: after: ftplugin: c: Forgot to clean up neomake here
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 17:08:44 +05:30
f977b8a246 nvim: Nuke everything Python related
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 14:47:16 +05:30
cdc8feecc8 nvim: Switch to completion-nvim and drop deoplete
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 12:36:08 +05:30
a11a6d3ba2 nvim: after: ftplugin: haskell: Add a asyncdo mapping for hlint
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 17:55:00 +05:30
bc6a097739 nvim: Miscellaneous clean up
1. Clean up the remnants of Neomake and grepper config left behind
2. Drop quickui and use a custom preview function for items in QF
window stolen from floaterm plugin's author
3. Cleanups for vim default configuration settings like wildignore

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 15:33:11 +05:30
467a660409 nvim: Drop neomake, QFGrep and vim-grepper
Profiling with below
nvim -c 'profile start vim.log' -c 'profile func *' -c 'q'

shows that neomake adds to the start up time. Currently we only use it
for two tasks. Running hlint for Haskell and stack build asynchronously.

Use asyncdo and define a generic wrapper command for running makeprg
asynchronously. This can be used for anything as long as makeprg is
set correctly.

vim-grepper also adds somewhat to the startup time though not much. We
do not need the functionality of switching between grep tools. Here
again just use asyncdo and define a generic command for running grepprg
asynchronously.

Drop QFGrep as we can use in built Cfilter plugin for filtering the
quickfix list.

Note that all start times mentioned above are a few milliseconds not
even more than 5ms. However, we would like to be as fast as possible
and use in built functions.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-21 16:39:06 +05:30
f8d48a4dc4 nvim: after: ftplugin: qf: Do not set relative number in QF window
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-17 20:58:06 +05:30
fee71ae71e nvim: Miscellaneous clean up
Make sure key bindings are local to the file type buffer.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-09 19:17:58 +05:30
5e1995d731 nvim: ftplugin: gitcommit: Add diff section jump only for git commits 2020-05-09 14:17:43 +05:30
f43e74690f nvim: after: ftplugin: Add helper key bindings for git rebase 2020-05-09 12:25:58 +05:30
a2228c077b nvim: ftplugin: purescript: Set textwidth and wrapmargin to 0
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-02 12:22:02 +05:30
55d3655ffe nvim: ftplugin: haskell: Enable classic highlighting for Haskell
Gives color separation in molokai between "instance" and "Typeclass Type".

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-30 10:29:24 +05:30
643cdfef11 nvim: Some minor cleanups, additions and refactor
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-21 16:14:15 +05:30
932e3ffc42 nvim: LSP cleanup and refactor
LSP does not work all the time. Either client breaks, server breaks or
it does not work because of the project structure. Removing LSP for the
umpteenth time.

asyncomplete does not seem to work at all for tags. For example, in the
gst-build directory the generated tags file can be 200MB+ in size. Even
with the file size limit set to unlimited it does not seem to give any
tag suggestions at all. Same is the case for Haskell.

Mucomplete can be slow in such cases where tag file is very large or
search space is extensively large and being synchronous this is to be
expected. To alleviate this, it is necessary to have a minimum prefix
length of 2 and perhaps trigger completion only when required. However,
this was still not good enough.

We are back to deoplete with custom source configuration. It is pretty
clear vimscript solutions are not up to the mark. Enable python provider
and also reintroduce language specific solutions like racer and jedi.

Refactor out language/file type specific settings. init.vim should only
have global keybindings, plugins and plugin settings. Also some other
minor cleanups, additions and rearrangements.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-15 09:27:36 +05:30