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.
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>