Commit graph

189 commits

Author SHA1 Message Date
Marty Oehme f156292e8f
nvim: Add file tree
In addition to my standard file manager, vifm, being integrated into
neovim, I have now also added a side-pane file tree (akin to nerdtree)
that is easily reachable to get a quick overview of a file layout.

For now, I do not intend to do much more with the plugin, only keep it
for those rare cases I want to have a view on my file layout at the same
time as working in a buffer. For all other things (file operations
especially) I still have vifm.
2023-03-22 15:58:18 +01:00
Marty Oehme 36d411dafa
nvim: Format files 2023-03-22 10:35:21 +01:00
Marty Oehme 22cfa037df
nvim: Add fidget.nvim
Added fidget plugin which shows the current loading status of LSPs. Only
works for a few LSP (so far), including lua and python. Should
automatically pick up new implementations on update. Will display a
small loading notification in the lower right corner, useful to display
status for those situations where LSP loading takes a long time (e.g.
rust compilation requirements or a large python environment).

FIXME Does not work for each python environment startup yet, and I am
not sure why - sometimes just does not display its loading startup.
2023-03-22 10:32:20 +01:00
Marty Oehme 643d282bac
nvim: Improve cmdline completion
When completing in command line I want the completion canditates to be
displayed, but *not* selected on confirmation. By doing so, it makes it
almost impossible to quickly quit with ':q' or write with ':w' for
example, as those always try to expand themselves automatically into
completion items.

This commit changes the default behavior for command mode to show
completions but not auto accept any on confirmation, instead simply
invoking whatever is currently on the command line (as if we had no
completion plugin running).
2023-03-22 10:31:37 +01:00
Marty Oehme ce9f101024
nvim: Unify lsp mappings into local +l prefix
Whereas previously we had lsp-related mappings both on <localleader>l...
and g... mappings, they are now all unified under the <localleader>l
prefix group. Some mnemonics unfortunately had to give way to a weaker
version of themselves (definition becomes de[f]inition, implementation
becomes i[m]plementation) but overall I believe this to be much more
cohesive for my future lsp usage. With which-key enabled and everything
under the +l group we should be able to easily adapt to the new
mappings.

Additionally, some mappings will invoke the telescope version of their
lsp command if telescope is indeed installed, otherwise fall back to the
native neovim lsp implementation.
2023-03-22 10:28:13 +01:00
Marty Oehme d1b0dfe112
nvim: Improve diagnostics gutter rendering 2023-03-22 10:21:52 +01:00
Marty Oehme 6b28e6417b
nvim: Prepare lsp-zero switch to v2 branch
Switched the configuration of lsp-zero to its less integrated v2
version. Switched back to manually configuring most of nvim-cmp.

Addded some manual formatting to cmp which displays completion kind as
icons not as text.
Manually add luasnip integration.
2023-03-22 08:30:04 +01:00
Marty Oehme 39b495affd
nvim: Update lockfile 2023-03-21 18:58:51 +01:00
Marty Oehme b3aa44f7a5
nvim: Update plugin lockfile 2023-03-19 14:49:38 +01:00
Marty Oehme 0189753b18
nvim: Update spell dict 2023-03-19 14:49:24 +01:00
Marty Oehme 917d80b7f2
nvim: Change spell fix shortcut to z mapping 2023-03-19 14:48:25 +01:00
Marty Oehme 7a6575f760
nvim: Add easyread speed reading plugin 2023-03-19 14:47:56 +01:00
Marty Oehme 0d5eeadef0
nvim: Remove wrapping notification, add toggle map 2023-03-19 14:47:26 +01:00
Marty Oehme b8eb02ef6c
nvim: Add arduino language server wrapping 2023-03-19 14:46:26 +01:00
Marty Oehme 6f3ac3d31f
nvim: Move Navigator to dev version
Since Navigator.nvim only implements wezterm compatibility in its main
branch as of now, we explicitly switch away from its stable version for
now.
2023-03-07 10:50:32 +01:00
Marty Oehme 74fdc4bc8f
nvim: Update plugins 2023-03-07 10:49:04 +01:00
Marty Oehme 382bcdba72
nvim: Hook treesitter commentstrings into comment maps 2023-03-07 10:46:25 +01:00
Marty Oehme 72514b2a5e
nvim: Update rainbow brackets to maintained fork 2023-03-07 10:45:43 +01:00
Marty Oehme 954ccf5e89
nvim: Improve dynamic colorscheme sourcing 2023-03-07 10:41:47 +01:00
Marty Oehme 25d37d17b3
nvim: Dynamically source colorscheme from file
Neovim will source the `colorscheme.lua` file in its state directory on
startup, as well as whenever the file contents are changed.
This allows any colorscheme definition to be put into the file and vim
will apply it as soon as the file contents change.
2023-03-03 18:35:27 +01:00
Marty Oehme 1c7d0a9835
nvim: Default to stable versions for plugins
Using the lazy option 'version' we default to updating only to the
latest stable (semver) version of plugins. This should make it a little
more stable in the long run to keep up with plugin updates.

Not all plugins support this versioning scheme and for those that do not
it just keeps tracking the main branch.

Currently from the plugins that support it, only `nvim-lspconfig` needs
to be manually kept on the main branch since it is missing the correct
lua language server otherwise. This should be a problem of the past with
the release of the next version of the plugin.
2023-03-03 12:51:21 +01:00
Marty Oehme 051c0914ad
nvim: Add wrapping plugin 2023-03-03 12:38:09 +01:00
Marty Oehme 2c4d5c483d
nvim: Update plugin lockfile 2023-03-01 17:41:30 +01:00
Marty Oehme 7128edc57c
nvim: Add quarto filetype setup 2023-03-01 17:39:03 +01:00
Marty Oehme c75b7636e0
nvim: Determine python venv on lsp start 2023-03-01 15:57:28 +01:00
Marty Oehme a44cf1d509
nvim: Add notify, select and input UI theme plugins 2023-03-01 15:56:30 +01:00
Marty Oehme 72e7832dce
nvim: Remove navigator.lua 2023-03-01 14:40:36 +01:00
Marty Oehme e94eade3b3
nvim: Add descriptions for various prefix groups 2023-03-01 14:37:59 +01:00
Marty Oehme 56003fcccb
nvim: Map <leader>v for vim-related options 2023-03-01 14:36:54 +01:00
Marty Oehme e3f123c080
nvim: Add punctuation-based undo breakpoints 2023-03-01 14:35:04 +01:00
Marty Oehme ea7fcd92f5
nvim: Switch to manual lsp mappings 2023-03-01 14:28:42 +01:00
Marty Oehme e1abc2972b
nvim: Add gitcommit ft settings 2023-03-01 14:27:03 +01:00
Marty Oehme 8d40fd843e
nvim: Rename helpers module to util module 2023-03-01 14:26:26 +01:00
Marty Oehme 1b69f57146
nvim: Remove line number from terminal buffers 2023-02-28 11:21:39 +01:00
Marty Oehme 70ccf5fa55
nvim: Display gitsigns as highlights on linenums 2023-02-27 09:22:33 +01:00
Marty Oehme 693f8ba3f4
nvim: Move autocommands into separate module 2023-02-27 09:22:02 +01:00
Marty Oehme 74bbaf4daf
nvim: Remove cmdline if not used, split buffers belowright 2023-02-27 09:20:18 +01:00
Marty Oehme e6d7578198
nvim: Switch from cmp-pandoc to cmp-pandoc-references
cmp-pandoc.nvim did not work sufficiently for my use case so far
(sometimes it did, most of the times it did not at all, every now and
again it sputtered some references to the list).

cmp-pandoc-references seems like a plugin kept relatively 'simple'
requiring no setup, a single `bibliography: ` line in the pandoc
meta-data header and it works flawlessly from there. I might delve
deeper at some point, especially with the papis.nvim integration, but
for now this is perfectly adequate.
2023-02-27 08:48:09 +01:00
Marty Oehme 0127a5db07
nvim: Switch from neorg to zk-nvim
Neorg is fine but not for me right now (especially with its own syntax
spec). zk seems to fit my workflow much better, this is the beginning of
trying it out.
2023-02-25 17:16:51 +01:00
Marty Oehme 9a874b1a1b
nvim: Remap leader groups
This commit is a change to some of the foundational mappings I use
through my leader key: opening telescope searches and toggling several
additional display riders.

First of all, all telescope functionality has been subsumed under the
<leader>f prefix:
    f (<leader>ff, that is) for finding files
    F for grepping
    h for finding hidden files
    o for finding old files
    b for finding buffers

    l for searching git log
    s for searching git status
    c for finding git commits (for current file)

Aside from these (which are pretty massive changes for me), we have a
new leader prefix group for the (now freed) <leader>s:
    o toggle symbols outline
    m toggle minimap
    s open the (mini.nvim) startup screen
2023-02-24 21:38:31 +01:00
Marty Oehme e87814ebcb
nvim: Remove leftover plugin settings
We are not making use of vsnip anymore (replaced by luasnip in zero-lsp
package) but still had a couple of vsnip mappings that lead to erratic
<tab> key behavior.
2023-02-24 15:11:50 +01:00
Marty Oehme 9a8a14f85f
nvim: mini indentline fix updated config option
Mini changed the configuration for its indentline module to use a table
instead of a function for its animation generation configuration.
This commit updates the config accordingly.
2023-02-24 10:02:00 +01:00
Marty Oehme eba39d2334
nvim: Add minimap toggle mapping 2023-02-10 15:38:22 +01:00
Marty Oehme 2026f6d064
nvim: Switch to lsp-zero
lsp-zero offers a simple to set-up lsp configuration which is based
around the plugins I use anyway (lsp, cmp, luasnip) but integrates them
very well. I add a few small quality of life things on top (cmp
completion for / search and for vim command mode) as well as a boatload
of custom completion sources but otherwise make use of the nice presets.

This has de-bloated my _cmp.lua settings somewhat and allows me to have
a simple treesitter and a simple(r) lsp setup!

Additionally, switched to mason.nvim to manage my lsp sources (and
linters), which is both the new hotness and actually really useful.
Allows portable installation of most lsp servers into neovim data
directory so they do not clutter any other directories or global
namespaces.
2023-02-10 15:33:33 +01:00
Marty Oehme ee4640b186
nvim: Fix dial.nvim
Added more rules to dial increment default group so it works on some
more cases. Fixed key bindings.
2023-02-10 14:06:45 +01:00
Marty Oehme 0484556f04
nvim: Fix spell dictionary not able to be found
Added the previously important 'site' directory to the runtime path of
neovim so it stops complaining about not finding spell dictionaries on
starting up with a spell-enabled file.
2023-02-10 12:08:16 +01:00
Marty Oehme 7965036eed
nvim: Add mapping description for which-key 2023-02-10 11:47:09 +01:00
Marty Oehme e8d2183264
nvim: Remove notational-fzf-vim plugin
Removed the notation velocity plugin for vim. I have not been making use
of it for ages and should I need a vim-internal way of digging through
my wiki I can probably find easier (and more clear) ways of doing so.
Nice plugin, but of no more use to me.
2023-02-10 11:15:38 +01:00
Marty Oehme fff6e60862
nvim: Remove cartographer plugin
Switch to use the nice new nvim-internal keymapping functions.
Cartographer was a really useful plugin when they did not yet exist but
now everything I wanted to do can be done without a mapping plugin, so
it is time to remove it.
2023-02-10 11:13:53 +01:00
Marty Oehme 08360ae7ff
nvim: Switch from quarto-vim to quarto-nvim
Switched to the neovim variant of quarto plugins since it may contain
improved integration with lsp and cmp - and offers completion and
diagnostics for code snippets *within* the overall markdown sources of
quarto, which is very exciting.
2023-02-10 09:19:27 +01:00