We can move between conflict markers using functionality from the
conflict markers plugin and we also have gina. If required just
introduce the command mapping later.
Currently there is an observable bug where this doesn't play well with
gina buffers. Perhaps it should be disabled for any gina buffers or
something similar.
The undo hunk feature is complete garbage at the moment. Also it seems
whenever we have changes and thus signs in gutter, sometimes there is
an observable sluggishness.
Since PaqClean cleans up anything in packages directory that are not in
configuration, including itself, it is necessary to include paq itself
in the packages list.
The only purposes we have been using fugitive for is status and commit
which should be equally comfortable with gina. Gina log is really
instantaneous even on big repositories like Linux while fugitive just
freezes vim. For handling hunks, merge and rebase conflicts we anyways
rely on the other plugins.
We use edita so that applications which use $EDITOR internally can work
inside neovim terminal without opening another instance which does not
work with the already running instance. This is required for things like
interactive rebase. See below issue.
https://github.com/lambdalisue/gina.vim/issues/276
We drop fzf-checkout as it isn't that useful anymore since gina allows
easy checkouts for branch or tags easily.
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.
The conflict markers plugin is what we have been using all the time and
is useful even without resorting to merge tool. Drop the DiffConflicts
plugin and use vimdiff as the merge tool if at all we need to resort to
a full 3 way merge view.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
All the added highlight groups in this commit are not defined upstream
in nvim-highlite. We may change this later.
While at it, remove all 'link' usages.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
fzf checkout plugin introduced some new functionality. Taking advantage
of that update existing and introduce some new key bindings.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This does not work anymore. Probably because we dropped python and it
also does not list a source for completion-nvim. However, we can copy
anything from tmux using tmux extracto plugin to the clipboard, so
that is also a solution.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Commit f977b8a while dropping all python dependencies also dropped
floaterm. However it has a dependency on python based neovim-remote
only if integration with git or floaterm is required from command line
which we do not. So add it back. Using the previous toggle bindings
with this gives a nice floating terminal which can be easily hidden.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Commit c70ec87 dropped floating window for fzf due to golden ratio not
playing well with it. Now that we do not use golden ratio mode anymore
enable it back.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
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>
This plugin results in the odd grey high lighting seen in floating
windows when using hover with nvim-lsp. See the below issue.
https://github.com/neovim/neovim/issues/12543
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Love this plugin but it completely messes up the quickfix window. If it
did not touch the quickfix window every thing would be fine.
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>
git messenger does not size it's floating window correctly and cursor
gets all messed up while trying to jump in the floating window with
golden-ratio mode being active. May be related to the issue
https://github.com/rhysd/git-messenger.vim/issues/38
Based on the below issue
https://github.com/tpope/vim-fugitive/issues/1387
We can already use fugitive's git blame interface for seeing the last
commit on the line.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Also use vim-searchlight for search highlighting the word under cursor.
Add custom highlight color to make the word being searched under cursor
stand out for our color schemes and better key mappings to shift through
searches in command line.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Do not start haskell-language-server unless a hie.yaml file is present
for proper multi-component support.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This is not available in upstream nvim_lsp repository but works with a
simple lua config addition for the same.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
nvim-gdb relies on Python and we disabled Python completely sometime
back so this has not really been functional. If we feel we require it
really for some C work we will enable Python and this package again.
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>
The only reason fzf.vim functioned till now seems to be due to the fact
that we were loading fzf.vim found in /usr/share/vim/vimfiles. Do not
rely on this and specify it in plugins.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This also helps in the key bindings now being in effect only for which
language servers has been enabled.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
We broke this in our last clean up which meant this was not working
anymore with the given option.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Now that we have dropped Neomake add a simple plugin to add the
functionality of quickfix signs.
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>