Commit graph

277 commits

Author SHA1 Message Date
Marty Oehme c550a9d514
nvim: Move Molten info toggle to vim-meta key group
Moved mapping from `<localleader>cI` to `<leader>vn` (for molteN).
2023-12-12 12:11:00 +01:00
Marty Oehme ea224ebbc1
nvim: Lazy load zen-mode, nvim-cmp
Correctly lazy load nvim-cmp as much as possible.
Loading it with certain events but also before lsp.
See here: https://github.com/hrsh7th/nvim-cmp/discussions/688#discussioncomment-1891544
2023-12-12 12:10:34 +01:00
Marty Oehme eec90ad7e2
nvim: Add automatic mason tool installation
Using mason-tool-installer we ensure everything is installed correctly.
Need to improve the collection of things to install. Currently we just
do everything in lsp configuration file, even the non-lsp things
(formatters/linters) which should be sourced where they belong not
in that file.
2023-12-12 12:10:33 +01:00
Marty Oehme ab06ef922b
nvim: Replace null-ls with nvim-lint
Fully replaced null-ls. Will need more tweaking on the nvim-lint setup but
works generally for now. Works well in tandem with conform formatter.
2023-12-12 12:10:32 +01:00
Marty Oehme 5ccf8bc1fc
nvim: Add formatting expression and more filetypes 2023-12-12 12:10:28 +01:00
Marty Oehme bad6200bd2
nvim: Move Mason quick mapping to plugin setup 2023-12-12 12:10:27 +01:00
Marty Oehme 49692601da
nvim: Change Lsp info mapping to vim layer
Moved the mapping to show lsp info window from `<localleader>li` to
`<leader>vs`.
Local leader +l mappings should be reserved for lsp functionality,
while we have a whole +v layer to grab (meta) information about our
vim installation. It fits in there much better.
2023-12-12 12:10:26 +01:00
Marty Oehme 293dc8a467
nvim: Add conform.nvim formatter
In the process of moving away from null-ls, added formatting with the help
of conform.nvim. Brings one new command, :ConformInfo which can also be
reached via `<leader>vc`.

AutoFormat on saving remains disabled by default but can be enabled with
:FormatEnable (and disabled again with :FormatDisable) or quickly through
`<localleader>lL`.

Manual formatting works like before with `<localleader>ll`. Uses the
formatters set in the plugin (similar setup to null-ls before) but
automatically falls back to lsp formatters if it does not have its own
and lsp has one enabled.
2023-12-12 12:10:25 +01:00
Marty Oehme 1def627edd
nvim: Turn off treesitter highlights in big files
Files above 1000 lines, 300 linelength or really big filesize.
2023-12-12 12:10:15 +01:00
Marty Oehme 7f112816b0
nvim: Remove TSPlayground plugin
Has been superseded by internal functionality, just run `:Inspect` or
`:InspectTree`.
2023-12-12 12:09:58 +01:00
Marty Oehme 5d8177b1b5
nvim: Update +show mode mappings and descriptions
Mappings preceded by <leader>s 'show' something so removed a lot of the 'toggle'
wording from their descriptions.

Subsumed the toggleterm toggles under this menu since they 'show' a term window
(lazygit or ipython).
Changed Aerial mappings to show navigator by default (`<leader>so`) and the
sidebar outline only on capital version (`<leader>sO`) since this mapping is
used less often.

Removed broken molten-image setup.
2023-12-12 12:09:30 +01:00
Marty Oehme 8d9b67cb04
nvim: Add Trouble.nvim plugin to quickly show diag 2023-12-12 12:09:29 +01:00
Marty Oehme c487da69a8
nvim: Add molten and image.nvim plugins
Image nvim works mostly well (slow on wezterm but that will always be the case
with kitty protocol for now as far as I know).
Would love to be able to toggle images on/off dynamically but I don't see a
way to accomplish that now. (or really, get to any option of the plugin).

Molten itself also works well - the output is displayed more nicely than for
the Magma plugins and everything continues working mostly well (or rather,
just as wonky as I had it set up on my older magma install :)

For now, the molten - image.nvim integration seems to not work at all -
it simply errors out when it would produce an image as output. No clue why
and it also complains about the wrong image provider (which I have taken from
the molten readme). No time to bugfix now but maybe at some point.

To do - find a much better way of installing the image.nvim required
luarock magick - done manually with hardcoded path in setup now

Also extended the old `py` alias to a full-blown script which will in
addition to detecting the python repl also find any running molten
session for the current directory (i.e. any running jupy kernel) and let
the user choose the right one if there is multiple. Will then default to
starting a kernel-aware repl environment (euporia or jupyter-console).

Added a very simple `-c` option which lets you choose python command to
run manually.
2023-12-12 12:07:41 +01:00
Marty Oehme 297f2c87a3
nvim: Update plugins 2023-12-05 18:01:15 +01:00
Marty Oehme 55a8a18feb
nvim: Fix spelling language
Accidentally put the wrong british language into the global spell setting.
Now it uses the correct one.
2023-12-05 18:00:32 +01:00
Marty Oehme 4d886e7e6d
nvim: Add experimental nushell lsp and treesitter
HACK
Added support for nushell lsp (not yet available to automatically install
through mason integration) and for nushell treesitter (VERY manual
installation as of right now).

Will work for testing out the shell and its nvim integration but
definitely has to be integrated better in the future.
2023-12-04 09:28:22 +01:00
Marty Oehme 78f7112c11
nvim: Update plugins 2023-12-04 09:27:03 +01:00
Marty Oehme dfaed8c9dd
nvim: Update plugins and spellfile 2023-11-15 14:25:09 +01:00
Marty Oehme b45296765a
nvim: Hide virtual-text diagnostics on insert
When writing something we often want to ideally hide the long comments
added to the end of any line in-progress as virtual text currently.

This simply adds an auto-command to hide when entering and show again
when exiting insert mode, simple but hopefully useful.
2023-11-15 13:28:35 +01:00
Marty Oehme c3fe4cdc58
nvim: Add mapping to toggle buffer diagnostics
If you want to hide buffer diagnostics for any reason, there is now a
quick mapping reachable through the usual lsp submenu: `<localleader>lo`
(I suppose the mnemonic would be 'lsp off').

It toggles them enabled and disabled and only affects the current
buffer.
2023-11-15 13:22:19 +01:00
Marty Oehme 8be40f5630
nvim: Update plugins 2023-10-05 18:28:15 +02:00
Marty Oehme 117b692dae
nvim: Map zenmode to global show/hide toggle group
Mapped de-/activating zen mode to <leader>sz which means it belongs
to the '+s' group of mappings which generally activate or deactivate
showing something in nvim.

Previously belonged to <leader>vz which rather is a group changing
something about nvim configuration itself.
2023-10-05 18:24:07 +02:00
Marty Oehme 0a686ab647
nvim: Add mapping to enable British spell check
Updated mappings to enable spell checking slightly: <ll>ZZ enables all
languages (german, us, gb) <ll>ZE only US spellcheck, <ll>ZB GB
spelling and <ll>ZD German spelling.
2023-10-05 18:22:11 +02:00
Marty Oehme 681e35b92c
nvim: Add markdownlint diagnostics to md, quarto
Added markdownlint. Will be used by default on markdown and
quarto filetypes.
2023-10-05 18:20:00 +02:00
Marty Oehme 29ff9db62b
nvim: Pin base16 plug to last working version
HACK base16 plugin changed something in its internal application
of highlights so that not all highlights get correctly applied
when my nvim setup boots up. Have to investigate.
2023-10-05 18:19:20 +02:00
Marty Oehme 444676caac
nvim: Add markmap to build mindmaps
Added markmap plugin to make mindmaps from markdown. Uses
headings for leaves, and works pretty automatically.
Testing its functionality longer-term for now.
2023-10-02 20:06:56 +02:00
Marty Oehme 065488e57d
nvim: Remove debug printing of activated python venv
Removed notification on activating a python venv.
It should just work, transparent to the user and we do
not need a big ol' notification each time we enter
a file.
2023-10-02 19:21:29 +02:00
Marty Oehme bfb62e6783
nvim: Add markdown code evaluation mappings
Can edit (`<ll>ce`), jump-to (`]c`, `[c`), insert (`<ll>co`,
`<ll>cO`) and run (`<ll>cc`) code cells in markdown files.

They will not be evaluated as part of an overall repl but
only stand-alone!
2023-10-02 19:20:44 +02:00
Marty Oehme 8b603b8c66
nvim: Improve lazy-loading of select plugins
Aerial (on command), test-runners (on python only) and other plugins
are now only loaded when actually required.
2023-10-02 19:18:29 +02:00
Marty Oehme bf2e74265c
nvim: Auto format prose soft with word-linebreaks
Automatically set formatting mode to soft for markdown, text and asciidoc files.
Also automatically format on startup (no lazy-loading), and thus have
nicely word-ending linebreaks (a word will not just be cut off wherever the
line is over but will be fully moved to the next line instead).
2023-09-25 19:54:38 +02:00
Marty Oehme 490232d18a
nvim: Update plugins 2023-09-25 19:44:11 +02:00
Marty Oehme 23793795d6
nvim: Add coverage support for python testing
Use `,tp` to load a coverage report and show it in the gutter.
Use `,tP` to toggle it off and on. Use `,ts` to show a summary
instead.
2023-09-25 19:41:27 +02:00
Marty Oehme 497b19fcbe
nvim: Add util function to grab plugin conditionally 2023-09-25 19:39:51 +02:00
Marty Oehme 41934d3000
nvim: Attach ruff client to active python environment 2023-09-25 19:38:57 +02:00
Marty Oehme 8a5381a4aa
nvim: Add test setup for python to ide
Added neotest with some mappings to run tests and view
outputs, as well as neotest-python for now to make it
work under python.

Added registering with which-key if it exists.
2023-09-23 08:37:29 +02:00
Marty Oehme e016b0a056
nvim: Remap lsp go to next/previous error
Mapped to `[D` / `]D`, reflecting the capitalization of going to the
next general diagnostic (`[d`/`]d`).
Now it is similar to spelling mistakes and spelling errors
(`]s[s`/`]S[S` respectively).
2023-09-23 07:43:49 +02:00
Marty Oehme dc9f9373fe
nvim: Remove obsolete mappings
Removed easyread and nabla toggles since the plugins are removed.
2023-09-23 07:41:37 +02:00
Marty Oehme 6254c92bd3
chore: Update qutebrowser redirects, nvim spellfiles 2023-09-16 11:29:22 +02:00
Marty Oehme 061e341253
nvim: Remove speed-reading plugin
The 'bionic-reading' mode, I have never used successfully.
It distracts rather than enabling me to move over text
more quickly.
2023-09-16 11:22:03 +02:00
Marty Oehme f31b1b29ed
nvim: Enable marksman lsp for quarto files 2023-09-16 11:21:01 +02:00
Marty Oehme c7393c9114
nvim: Move between git conflict hunks with ][H
Since we move between git chunks with ]h/[h, we may as well
move between git *conflict* chunks (should there be any)
with ]H and [H mirroring the diagnostics/error setup
situation.
2023-09-16 11:21:00 +02:00
Marty Oehme 60ae2e43c3
nvim: Switch signature help to cmp plugin
Simply switched signature help. Need to extensively test, but to
be perfectly honest the previous sig help plugin did not work all
the time either.
2023-09-16 11:20:59 +02:00
Marty Oehme fd12c2b962
nvim: Remove unnecessary variable declaration 2023-08-29 22:38:08 +02:00
Marty Oehme 0033116a73
nvim: Refactor py environment detection function 2023-08-29 22:37:38 +02:00
Marty Oehme a9d7f96ad2
nvim: Update plugins 2023-08-25 16:32:51 +02:00
Marty Oehme 84eed308e1
nvim: Update plugins and dictionaries 2023-08-08 09:55:38 +02:00
Marty Oehme 5caf254c44
nvim: Add D language server to auto config
Automatically install D lsp with mason.
2023-08-07 12:17:20 +02:00
Marty Oehme 0a3ca9f2b1
nvim: Add git conflict resolution mappings
Added simple merge conflict highlighting and resolution through
git-conflict.nvim plugin.

Allows moving to the next/prev conflict with ]x or [x respectively,
then resolving the conflict currently hovered by using ours/theirs/
both/or neither of the offered options (with `ho/hO/hm/hM`
respectively).
2023-08-07 11:30:09 +02:00
Marty Oehme 596962c4d1
nvim: Add more bracket movement options
Enabled bracketed module of mini.nvim plugin, which enables many
(many!) more bracket jumping options. Some examples are moving
through the bufferlist, comments, files, jumplist, etc with [
and ]. Integrated into whichkey through pre-defined 'desc'
options for each mapping.
2023-08-07 11:27:52 +02:00
Marty Oehme 9934c2e8f0
nvim: Disable automatic formatting on save
Default the option to disable on formatting on save, but add new
key mapping to toggle it on (`<leader>sa`) and off. Still
the remaining issue of files always being 'unsaved' state when
using formatting on save, but this allows quicker toggling for
now.
2023-08-07 11:26:17 +02:00