Comments (4)
I think the best way to go about this would be to submit this as a PR and then I can go ahead and review the code over there, should make it easier to give feedback.
from nixvim.
Hi! Could you please leave an overview of what's changed, just so I can have an idea of what to look for?
As far as modules are concerned, I have no opposition to merging them (the more the better), though I'd probably cherry-pick the commits that add new plugins for now, since the rest is more architecturally different.
As far as the cmp
changes are concerned, I'd have to look better into that, specially considering I'm not the one who developed that module and am not very familiar with it. I'd really like to avoid any breaking changes, though.
from nixvim.
Sure,
I think one of the most important change is that I integrated nixpkgs-vim-extra-plugins into the projekt (Actually a fork of mine, because the developer of the original repo delete plugins as soon they are in nixpkgs, which I think is a bad Idea because they are easier to keep up to date in a separate repo. Adding them is a matter of adding one line to the manifest.txt
).
However, I did this to have easy access to more and newer plugins.
I added a mkLuaPlugin helper function. With this functions adding simple lua plugins only requires adding the module options in camalCase and they are automatically converted to the corresponding lua options in snake_case. The function also automatically adds a enable
option and extraConfig
option. This also means that new plugins can be added in a matter of minutes, because all lua config can be added via the extraConfig
options. Nix module options can then be added later.
I used this function to create a list of generated plugins. The Idea is to be able to add new plugins in one line. A complete module can then be added later. This way, we could always have "all' plugins available via modules.
I added a plugin_template_lua.nix
For easy plugin bootstrapping.
I added aliases for boolOptions, strOptions, intOptions, and their counterparts where the argument can also be null. I added them for cleaner module structure and better overview.
I added a bunch of plugins (besides the generated ones)
As for the cmp module, I modularizes some options as they are deeply nested and I though the module was way too long. I plan to do this for all options eventually.
I started implementing a better sollution for snipped, but did not finish yet. I would revert this before merging, until I finish the new solution.
I think the only breaking change I have made is the way how to add sources. In my implementation they are normal module options that can be enabled and setup via nix; no lua code needed. I think the breaking change would be worth it, but if you really want to avoid breaking anything, I could re-add the old style as an legacy option.
I also renamed a bunch of variables that served the same purpose in different modules but had different names. This is only internally and should not break any config.
I think that is all.
If it is ok I will create a merge request and we can discuss which changes you want and which don't
from nixvim.
Closing this since #36 is now open
from nixvim.
Related Issues (20)
- extraSettings has no effect HOT 1
- Add coq.thirdparty HOT 2
- nvim-autopairs: Incorrect arg type? HOT 1
- Question about the dependencies of coq-nvim HOT 2
- bufferline - guifg and guibg highlights are deprecated HOT 1
- Unable to configure properly - a unknow reason for all version HOT 13
- mappings `description` is not included by genMaps HOT 1
- Barbar configuration needs to be updated
- Plugin Request: nvim-lastplace
- Plugin Request: nvim-ts-rainbow HOT 1
- Can't change leader when using plugin config HOT 11
- Can't use `"lua"` (and other) plugin config types HOT 3
- error: attribute 'typst-lsp' missing HOT 4
- Nix flake input ignored when using nixvim with home-manager and NixOS HOT 8
- Bug: Undefined nix lib function HOT 3
- Add Tomorrow Night Eighties Color Scheme
- Can't use zls from flake HOT 12
- nvim-tree onAttach not working
- Passing flake inputs to modules in standalone HOT 1
- Feature: parsed lua function and code HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nixvim.