Commit graph

213 commits

Author SHA1 Message Date
b9de8b3914
nvim: Add undotree plugin
Lua implementation of the undo tree plugin, mapped to be
reachable with <leader>su (for show undo).
2023-06-17 22:02:37 +02:00
f33b4c9c37
nvim: Restructure lua dir
Moved plugins into individual component module files which are
automatically required by lazy.nvim. Should make everything a tiny bit
more modular, or at least prepare the way for true modularity if I ever
have the time on my hands to ensure everything works with missing
modules.

Moved core settings into their own directory (`core`), and created a
`personal` folder which contains functions/plugins I wrote that do not
necessarily have to be their own imported plugin yet.

Finally, extended the utility functions a little, so we can detect if a
plugin exists and change e.g. key maps based on that (once again,
extending modularity a little more). Some simple attempts have been made
at that in the `mappings.lua` file, though it is nowhere near extensive
yet - most keymaps are still set regardless of plugin availability.

However, with this slimmer base to work off of, I feel more confident in
changing future things about this setup a little more ad-hoc without
having as many ripple repercussions as before.
2023-06-17 21:54:22 +02:00
f343b1a76d
# This is a combination of 4 commits.
# This is the 1st commit message:

nvim: Restructure lua dir

Moved plugins into individual component module files which are
automatically required by lazy.nvim. Should make everything a tiny bit
more modular, or at least prepare the way for true modularity if I ever
have the time on my hands to ensure everything works with missing
modules.

Moved core settings into their own directory (`core`), and created a
`personal` folder which contains functions/plugins I wrote that do not
necessarily have to be their own imported plugin yet.

Finally, extended the utility functions a little, so we can detect if a
plugin exists and change e.g. key maps based on that (once again,
extending modularity a little more). Some simple attempts have been made
at that in the `mappings.lua` file, though it is nowhere near extensive
yet - most keymaps are still set regardless of plugin availability.

However, with this slimmer base to work off of, I feel more confident in
changing future things about this setup a little more ad-hoc without
having as many ripple repercussions as before.

# This is the commit message #2:

Update settings file with 0.9 options

# This is the commit message #3:

Move lazy.nvim setup into core module

# This is the commit message #4:

Rename maps.lua to mappings.lua
2023-06-17 21:51:46 +02:00
5f93ecba7c
lua: Format with stylua 2023-06-15 10:12:30 +02:00
e434c191c9
nvim: Switch away from depredcated nvim_exec function
Use nvim_exec2 instead, which is weirdly named.
2023-06-15 10:00:20 +02:00
2dbd94dda4
nvim: Remove copyright abbreviation
I never used it once.
2023-06-15 09:59:45 +02:00
41968e1361
nvim: Integrate null_ls for formatting and linting
Formatting and linting should from now be done with null_ls instead
of formatter.nvim (and nothing for linting so far).

This will still take a little to fully transition, for now we use
null_ls for eslint linting and prettier formatting for a variety
of javascript/typescript and astro files.

null_ls uses Mason installations under the hood and any tool it
uses also gets installed by Mason.
2023-06-15 09:47:32 +02:00
3a709bb450
nvim: Replace live grep key chord with fw
Moved the old, a little more cumbersome, mapping <leader>fF to be
<leader>fw instead to start live grepping with telescope.
2023-06-15 09:43:10 +02:00
681c48d4f7
nvim: Format plugins file 2023-06-07 10:06:32 +02:00
e35dec9f9f
nvim: Update spellfile 2023-06-07 10:06:20 +02:00
de15382415
nvim: Remove spellsitter
Spellsitter funcitonality is long deprecated and included
in the mainline neovim project. So we might as well
remove it from our plugins.
2023-06-07 10:06:10 +02:00
92ab289537
nvim: Update plugins 2023-06-07 10:05:16 +02:00
d262c9432d
nvim: Remove automatic full-text completion
Automatic completion from full-text search was draining battery and generally not too helpful.
Disabled (commented) for now, can be re-enabled more specifically.
2023-05-23 15:52:29 +02:00
7b810f94a5
nvim: Format 2023-05-23 15:51:40 +02:00
744c08f0f5
nvim: Update spellfile 2023-05-23 15:50:50 +02:00
760ed037ba
nvim: Update plugins 2023-05-23 15:50:37 +02:00
8606652b93
nvim: Fix colorizer setup and add mappings 2023-03-23 08:30:01 +01:00
3a6c7717c8
nvim: Set up gitsigns mappings 2023-03-23 08:29:12 +01:00
d2e101b822
nvim: Add latex notation concealing with nabla
Notations will be concealed automatically on entering a textual buffer
and `$...$` style notations are contained.

Concealing can be turned off with <localleader>sV, which will toggle
concealing on or off for all notations in the file.
Additionally, the notation under curser can be viewed in a popup with
<localleader>sv.
2023-03-23 08:28:17 +01:00
2b64b4b750
nvim: Update lazy lockfile 2023-03-22 17:31:49 +01:00
f1b7c02aee
nvim: Make cursorword highlights more inconspicuous 2023-03-22 17:29:41 +01:00
aa68137ff8
nvim: Add zk mappings 2023-03-22 17:01:02 +01:00
d0e536b798
nvim: Update colorizer git address 2023-03-22 16:29:42 +01:00
e95bd9b252
nvim: Add smartcolumn plugin 2023-03-22 16:29:41 +01:00
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
36d411dafa
nvim: Format files 2023-03-22 10:35:21 +01:00
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
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
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
d1b0dfe112
nvim: Improve diagnostics gutter rendering 2023-03-22 10:21:52 +01:00
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
39b495affd
nvim: Update lockfile 2023-03-21 18:58:51 +01:00
b3aa44f7a5
nvim: Update plugin lockfile 2023-03-19 14:49:38 +01:00
0189753b18
nvim: Update spell dict 2023-03-19 14:49:24 +01:00
917d80b7f2
nvim: Change spell fix shortcut to z mapping 2023-03-19 14:48:25 +01:00
7a6575f760
nvim: Add easyread speed reading plugin 2023-03-19 14:47:56 +01:00
0d5eeadef0
nvim: Remove wrapping notification, add toggle map 2023-03-19 14:47:26 +01:00
b8eb02ef6c
nvim: Add arduino language server wrapping 2023-03-19 14:46:26 +01:00
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
74fdc4bc8f
nvim: Update plugins 2023-03-07 10:49:04 +01:00
382bcdba72
nvim: Hook treesitter commentstrings into comment maps 2023-03-07 10:46:25 +01:00
72514b2a5e
nvim: Update rainbow brackets to maintained fork 2023-03-07 10:45:43 +01:00
954ccf5e89
nvim: Improve dynamic colorscheme sourcing 2023-03-07 10:41:47 +01:00
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
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
051c0914ad
nvim: Add wrapping plugin 2023-03-03 12:38:09 +01:00
2c4d5c483d
nvim: Update plugin lockfile 2023-03-01 17:41:30 +01:00
7128edc57c
nvim: Add quarto filetype setup 2023-03-01 17:39:03 +01:00
c75b7636e0
nvim: Determine python venv on lsp start 2023-03-01 15:57:28 +01:00
a44cf1d509
nvim: Add notify, select and input UI theme plugins 2023-03-01 15:56:30 +01:00