Commit Graph

313 Commits

Author SHA1 Message Date
Paul Stemmet e0e3d72e8e
nvim: fix lsp.preset.Rust opts handling
Passed structure was incorrect
2024-09-08 19:26:10 +00:00
Paul Stemmet ac705ce937
merge: develop <--- feat/nvim-minor-improvements
* HEAD
| \
| * 38568df <github@luxolus.com> nvim: improve cspell.json file handling
| * afaf382 <github@luxolus.com> nvim: improve ToggleGutter to remove indent trace, diagnostics
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2024-09-07 16:09:00 +00:00
Paul Stemmet 38568df712
nvim: improve cspell.json file handling
This doesn't handle looking for workspace level files, but will stop
the "Add word to dictionary" code action from creating random
cspell.json files in whatever vim considers to be the current working
directory.

Eventually, I'd like to move this all into neoconf.json, but this is
better than the current, non functional state
2024-09-07 16:05:42 +00:00
Paul Stemmet afaf382e25
nvim: improve ToggleGutter to remove indent trace, diagnostics
So that it fulfills its intended purpose: making vim ready for terminal
level copying.

This removes the extra overlay'd text segments from the window
2024-09-07 16:05:15 +00:00
Paul Stemmet 7724f3d086
merge: develop <--- feature/LazyVim
* HEAD
| \
| * fbc0ca3 <github@luxolus.com> docs: update README for nvim changes
| * 80ed55f <github@luxolus.com> zshrc: add podman,bazel opt plugs
| * ad874d1 <github@luxolus.com> zshrc: rm PSOXIZSH_EXPERIMENTAL_NEOVIM_LUA flag
| * 269c980 <github@luxolus.com> nvim: add psoxizsh.function key binds
| * 055ce78 <github@luxolus.com> nvim: use Global.* key binds in psoxizsh.plugins
| * 69a424a <github@luxolus.com> nvim: use Buffer.Lsp key binds in psoxizsh.lsp.key
| * f22a04f <github@luxolus.com> nvim: add psoxizsh.functions
| * aa49be0 <github@luxolus.com> nvim: refactor psoxizsh.key
| * 478c623 <github@luxolus.com> init.lua: rewrite nvim entrypoint to use psoxizsh.entrypoint
| * f4cf1b7 <github@luxolus.com> nvim: add psoxizsh.entrypoint
| * b17c563 <github@luxolus.com> nvim: add psoxizsh.entrypoint.profile
| * 585e13d <github@luxolus.com> nvim: add psoxizsh.startup.keybinds
| * 1637296 <github@luxolus.com> nvim: add psoxizsh.startup
| * bf29a51 <github@luxolus.com> nvim: add psoxizsh.plugins.ide
| * 9add4b0 <github@luxolus.com> nvim: add psoxizsh.lsp.keys
| * 0a15980 <github@luxolus.com> nvim: add psoxizsh.plugins.editor
| * 388b6da <github@luxolus.com> nvim: add psoxizsh.plugins.treesitter
| * ecb1bc2 <github@luxolus.com> nvim: add psoxizsh.plugins.ui
| * 1613c7b <github@luxolus.com> nvim: add psoxizsh.plugins.colorscheme
| * 3a56818 <github@luxolus.com> nvim: add psoxizsh.plugins.core
| * cf879d6 <github@luxolus.com> nvim: add psoxizsh.lsp.preset servers
| * b22285e <github@luxolus.com> nvim: add psoxizsh.lsp.core
| * f4a32dc <github@luxolus.com> nvim: add submodule lazy.nvim
| * fff545c <github@luxolus.com> nvim: rm psoxizsh.plugins.plug
| * 85081d7 <github@luxolus.com> nvim: rm old psoxizsh.lsp.{preset,servers,util} modules
| * ad7f34b <github@luxolus.com> nvim: rm orphaned modules psoxizsh.{plugins.bootstrap,diagnostic}
| * 5e80c28 <github@luxolus.com> repo: rm examples/ nvim/spellfile
| * 53ade04 <github@luxolus.com> repo: update submodules
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2024-08-31 19:02:05 +00:00
Paul Stemmet fbc0ca3713
docs: update README for nvim changes 2024-08-31 18:37:08 +00:00
Paul Stemmet 80ed55f65d
zshrc: add podman,bazel opt plugs 2024-08-31 18:28:07 +00:00
Paul Stemmet ad874d18aa
zshrc: rm PSOXIZSH_EXPERIMENTAL_NEOVIM_LUA flag
Instead, we now presume that if neovim is installed, the user will use
it over the default vim.

We also slightly refactor the entrypoint for neovim, using the default
paths for MYVIMRC, over setting VIMINIT and MYVIMRC explicitly.
2024-08-31 18:28:06 +00:00
Paul Stemmet 269c980010
nvim: add psoxizsh.function key binds 2024-08-31 18:28:06 +00:00
Paul Stemmet 055ce78bbd
nvim: use Global.* key binds in psoxizsh.plugins 2024-08-31 18:28:06 +00:00
Paul Stemmet 69a424a081
nvim: use Buffer.Lsp key binds in psoxizsh.lsp.key 2024-08-31 18:28:06 +00:00
Paul Stemmet f22a04f130
nvim: add psoxizsh.functions
these are a collection of functions that we have built in house, those
their insides replaced to work better with the new plugin manager

namely

- Format
- OpenConfig
- ToggleGutter
2024-08-31 18:28:05 +00:00
Paul Stemmet aa49be08cb
nvim: refactor psoxizsh.key
We remove the old bind.lua functionality for creating recursive auto
initialized groups of bindings, replacing it with a simpler data
structure that only provides a common, simple mechanism for storing all
the information needed to make a new key bind in the future.

This change is good for two reasons:

1. the luals LSP can now provide autocompletion for keybinds
2. the module is much simpler, and can be extended easily to map the
   existing data structure into other formats, like the one used by
   lazy.nvim's keys map, or Neovim's own vim.keymap.set

We also update, refactor and rename the old map.lua file to binds.lua,
so that we remain consistent in our terminology with Neovim itself

Lastly, we touch up key/init.lua to handle these changes, and make it
easier for others to potentially create their own keybinds
2024-08-31 18:28:04 +00:00
Paul Stemmet 478c623268
init.lua: rewrite nvim entrypoint to use psoxizsh.entrypoint
Plus, add a detailed description of the new location(s) for configuration, and
a brief overview of how plugins work
2024-08-31 18:28:04 +00:00
Paul Stemmet f4cf1b75db
nvim: add psoxizsh.entrypoint
these modules serve as the entrypoint for users to enter psoxizsh's
neovim configuration.
2024-08-31 18:28:04 +00:00
Paul Stemmet b17c56305c
nvim: add psoxizsh.entrypoint.profile
These are simple "prebaked" functions that can modify the PsoxizshConfig
object before it is utilized further.

It allows the primary users of this repo to have seperate "profiles"
that they can maintain in the main code base, while also allowing others
to just pass a similiar function to PsoxizshConfig.profile.
2024-08-31 18:28:04 +00:00
Paul Stemmet 585e13d3d9
nvim: add psoxizsh.startup.keybinds
Add our standard keybinds, largely picked from LazyVim's
config/keymap.lua file, filtered down to our taste.

Probably some of these should become configurable in the
future.

References: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
2024-08-31 18:28:04 +00:00
Paul Stemmet 1637296d69
nvim: add psoxizsh.startup
This commit rewrites the psoxizsh init to conform to lazy.nvim plugin
schema.

This is a port of the old early/pre/post/late stages we used to use to
functions we can call during our toplevel module's eventual setup()
call.

We should probably add optional callbacks to each so that users can
retain the older method of initialization...
2024-08-31 18:28:03 +00:00
Paul Stemmet bf29a51829
nvim: add psoxizsh.plugins.ide 2024-08-31 18:28:03 +00:00
Paul Stemmet 9add4b0481
nvim: add psoxizsh.lsp.keys
This is our inhouse overrides over LazyVim's key maps for the LSP on_attach
function.

Unfortunately there's no good way to do this, other than directly
mutating the key binds LazyVim creates
2024-08-31 18:28:03 +00:00
Paul Stemmet 0a15980464
nvim: add psoxizsh.plugins.editor 2024-08-31 18:28:03 +00:00
Paul Stemmet 388b6daa3a
nvim: add psoxizsh.plugins.treesitter 2024-08-31 18:28:03 +00:00
Paul Stemmet ecb1bc2965
nvim: add psoxizsh.plugins.ui 2024-08-31 18:28:03 +00:00
Paul Stemmet 1613c7b94d
nvim: add psoxizsh.plugins.colorscheme 2024-08-31 18:28:03 +00:00
Paul Stemmet 3a56818202
nvim: add psoxizsh.plugins.core 2024-08-31 18:28:02 +00:00
Paul Stemmet cf879d6999
nvim: add psoxizsh.lsp.preset servers 2024-08-31 18:28:02 +00:00
Paul Stemmet b22285ef0f
nvim: add psoxizsh.lsp.core
Adds back some of the functionality of the late lsp.server, such that we
can paper over the exact implementation details of _how_ we're enabling
the language server.

In practice, this will allow us to create a bunch of preset
PsoxizshLspServer types, which users can then opt into enabling in their
plugin/* configs
2024-08-31 18:28:02 +00:00
Paul Stemmet f4a32dc0ba
nvim: add submodule lazy.nvim 2024-08-31 18:28:02 +00:00
Paul Stemmet fff545ce8a
nvim: rm psoxizsh.plugins.plug
this is will be broken up and readded in future commits, to conform with
the LazyVim method of plugin config
2024-08-31 18:28:01 +00:00
Paul Stemmet 85081d79b0
nvim: rm old psoxizsh.lsp.{preset,servers,util} modules 2024-08-31 18:28:01 +00:00
Paul Stemmet ad7f34b624
nvim: rm orphaned modules psoxizsh.{plugins.bootstrap,diagnostic}
these are superseded by lazy.nvim's superior bootstrap process, and
LazyVim's builtin diagnostic configuration
2024-08-31 18:28:01 +00:00
Paul Stemmet 5e80c28f26
repo: rm examples/ nvim/spellfile
these are not relevant or useful, anymore.
2024-08-31 18:28:00 +00:00
Paul Stemmet 53ade04eb5
repo: update submodules 2024-08-31 18:28:00 +00:00
Paul Stemmet 2c08b914c1
merge: develop <--- feature/nvim-0.9-updates
* HEAD
| \
| * ad66707 <github@luxolus.com> nvim: update plugins for nvim v0.9
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2024-07-07 21:31:35 +00:00
Paul Stemmet ad6670791a
nvim: update plugins for nvim v0.9
Largely, this is simply bumping versions and fixing a few configurations
that were changed in newer versions of the plugins.

I did however notice our package manager (packer.nvim) is orphaned now,
and I need to switch to a different one in the near future...
2024-07-07 21:30:47 +00:00
psox st8l 45d7789e15 Update git sub-modules and add zsh-vi-mode
- cloned oh-my-zsh to dolysis the repo and replaced it here
  upstream should now be https://git.st8l.com/dolysis/ohmyzsh.git
2023-11-19 13:35:53 +00:00
Paul Stemmet f02c998488
merge: develop <--- feature/null-ls-cspell
* HEAD
| \
| * 3e1e459 <github@luxolus.com> nvim/plug: add null-ls.nvim@main, cspell.nvim@main
| * 5311f20 <github@luxolus.com> nvim/plug: rm cmp-spell
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2023-06-08 15:37:12 +00:00
Paul Stemmet 3e1e459c50
nvim/plug: add null-ls.nvim@main, cspell.nvim@main
These gives us back the ability to use cspell, which was lost in the
transition from coc-nvim to our current lua based setup.

However, it requires the following to take effect:

1. Have nodejs installed (nvm is fine)
2. Run ':MasonInstall cspell'
3. Run ':PackerCompile'
4. Restart

All goes well, when you next open nvim, you should have cspell powered
spell checking and :LspInfo should show null-ls running.

Word substitutes triggered via:
  @Buffer.Lsp.N.Leader.CodeAction

Next/Prev word (or other diagnostic) via:
  @Global.N.DiagnosticNext
  @Global.N.DiagnosticPrev

Where @ = nvim/lua/psoxizsh/key/bind.lua
2023-06-08 15:10:46 +00:00
Paul Stemmet 5311f2013e
nvim/plug: rm cmp-spell
This will be superseded by the coming cspell integration
2023-06-08 15:09:54 +00:00
Paul Stemmet f4cc11581f
merge: develop <--- fix/misc
* HEAD
| \
| * 707f9da <github@luxolus.com> nvim/plug/cmp: various fixes
| * c9d7e5c <github@luxolus.com> nvim/key/map: fix Lsp.FormatDocument action
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2023-06-04 22:02:08 +00:00
Paul Stemmet 707f9daafe
nvim/plug/cmp: various fixes
- Pull completions from all buffers, not just current
- Limit total items to 15
- Better organization of cmd completions
2023-06-04 22:00:26 +00:00
Paul Stemmet c9d7e5ca50
nvim/key/map: fix Lsp.FormatDocument action
neovim moved buf.formatting to buf.format, a while back, leaving this as
effectively setting `action = null`, which throws warnings on start; so
we fix that.
2023-06-04 21:25:56 +00:00
Paul Stemmet 5f07c09d46
merge: develop <--- feature/improve-cmp-cmdline
* HEAD
| \
| * 7c38526 <github@luxolus.com> nvim/plug: improve cmdline (:) completions
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2023-04-02 16:00:20 +00:00
Paul Stemmet 7c385263f1
nvim/plug: improve cmdline (:) completions
This commit enables nvim-cmp's cmdline completion support, overriding
the builtin neovim's.

We gain a nicer menu, more sources (paths, history), and a slightly more
intelligent listing with some support for file specific commands (e, r,
w).

We also switch out the 'path' completion source with 'async_path',
preventing delays / freezes when traversing slow or large fs trees
2023-04-02 15:56:01 +00:00
Paul Stemmet 79a7215464
merge: develop <--- feature/sumneko-to-lua-ls
* HEAD
| \
| * 3110368 <github@luxolus.com> nvim/lsp: preset.Lua sumneko_lua -> lua_ls
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2023-04-02 14:57:28 +00:00
Paul Stemmet 31103686c5
nvim/lsp: preset.Lua sumneko_lua -> lua_ls
As the server has been renamed in lspconfig

References: 501cfd09b9
2023-04-02 14:56:42 +00:00
Paul Stemmet e10d704780
merge: develop <--- fix/colorscheme-name
* HEAD
| \
| * c7039c1 <github@luxolus.com> nvim/init: g.my_color_scheme: onedarkpro->onedark
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2023-01-02 11:30:52 +00:00
Paul Stemmet c7039c10da
nvim/init: g.my_color_scheme: onedarkpro->onedark
Fixes breaking change in upstream.

Upstream-Ref: e3369ba112
2023-01-02 11:27:11 +00:00
Paul Stemmet 3fbebc60e3
merge: develop <--- feature/code-action
* HEAD
| \
| * a46119d <github@luxolus.com> nvim/psoxizsh: misc. tidying of init scripts
| * 70eb4b4 <github@luxolus.com> nvim/key: Buffer.Lsp.N.Leader.CodeAction
| * 9a41cb4 <github@luxolus.com> nvim/plug: +dressing@master
| /
| develop

Signed-off-by: Bazaah <github@luxolus.com>
2022-12-09 20:23:54 +00:00
Paul Stemmet a46119d7b8
nvim/psoxizsh: misc. tidying of init scripts
Some formatting changes, and an improvement to ReloadConfig/0 to print
out a message when configuration has been reloaded
2022-12-09 20:23:39 +00:00