https://github.com/oxy2dev/intro.nvim
https://github.com/oxy2dev/intro.nvim
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/oxy2dev/intro.nvim
- Owner: OXY2DEV
- Created: 2024-03-24T11:23:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T00:43:32.000Z (about 2 years ago)
- Last Synced: 2024-04-12T23:36:07.194Z (about 2 years ago)
- Language: Lua
- Size: 40 KB
- Stars: 14
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
>[!IMPORTANT]
> This plugin will **not** be updated(most likely). Making this plugin, I have understood the limitations of myself and neovim.
> The whole plugin was basically kept together with duct tape for the most part. Even though I tried my best, I couldn't make the plugin as good as I wanted.
> The animation system is **very** primitive. The plugin isn't fast.
> The plugin can randomly crash on update(when `lazy.nvim` is used). Plus the code is basically spaghetti.
>
> So, I will go learn new things, experiment a lot and hopefully make a better version in the future.
---
https://github.com/OXY2DEV/intro.nvim/assets/122956967/b2ffb4ca-d543-46f6-8d7c-c4dbd42caa56
Intro.nvim
Animated :intro for Neovim
Installation | Documentation | Presets | Showcase
🏝️ Introduction
>[!NOTE]
> This plugin was made **entirely** inside termux. So, I may or may *not* be able to reproduce your issue due to *hardware limitations*. So, It would really help me debug the issues if you add **extra details** to your issues(e.g. **explaining what happens** instead of the plugin starting, **attaching a video** of the bug, what machine you are using etc.).
>[!WARNING]
> This plugin was meant to be used inside **termux** so some things may be a *little bit* off when used somewhere else.
In my experience, after installing a new `start screen` plugin I will most likely end up writing helper functions for myself to better customise the plugin. This was a problem as I would have to change the helper functions every time I eventually needed to switch to a different plugin(either due to lack of features or not providing more customisation).
Some of the plugins are easy to set up but comes at the cost of you can't really change it much. Other have more customisation but don't have an easy way to set up.
I also couldn't find any plugin which provided a way to add `gradients` to the texts which I really wanted.
Key features of this plugin.
- Easily show recently opened files, add keymaps, text arts etc. without having to write everything from scratch.
- Gradient colors! If you have experience with something like `lolcat` or wanted gradients in your text then you are going to like this plugin. Plus unlike other plugins this one also has helper functions to make the entire process easier.
- Minimal config. If you aren't crazy about customisation and just want something simple and easy to set up then you can use one of the `presets`. But they are not like your normal presets as they do provide customisation of the presets in case you want it.
- Simple `animations`. The plugin provides a way to make simple color based animations(along with some text based ones, this is a work in progress though).
- Complete `timing control` over animations. This plugin not only provides options to control when the animations start but it also allows you to control them for individual animations too if you want.
💻 Installation
💤 Lazy
>[!WARNING]
> Do not lazy load the plugin.
>
> The plugin should run before other plugins so by setting `lazy = false` the plugin won't get the chance to load.
```lua
-- plugins.lua
{
"OXY2DEV/intro.nvim",
-- For file icons
dependencies= {
"nvim-tree/nvim-web-devicons"
},
config = function ()
require("intro").setup();
end
}
```
```lua
-- plugins/intro.lua
return {
"OXY2DEV/intro.nvim",
dependencies = {
"nvim-tree/nvim-web-devicons"
},
config = function ()
require("intro").setup();
end
}
```
🧰 Mini.deps
```lua
-- depe.lua
require("mini.deps").add({
source = "OXY2DEV/intro.nvim",
depends = {
"nvim-tree/nvim-web-devicons"
}
})
require("intro").setup();
```
🧩 Presets
If you want to `quickly set up` the plugin and don't want any of the hassle of customisation then this section is for you.
Presets are applied like this.
```lua
require("intro").setup({
preset = {
name = "", -- Name of the preset
opts = {} -- Options of the preset to use
}
})
-- If you don't want customisation you can use this
require("intro").setup({
preset = "" -- Name of the preset
})
```
The presets are available in the `/lua/intro/presets.lua` file in the plugin.
>[!TIP]
>Items that have a • in front of them are the preset name and the items that are numbered are the options for that preset.
>[!NOTE]
> The order in the `opts` matters. Some options have the ability to overwrite the values set by other options. This becomes more apparent in case there are options that add components to the screen. In this case, the option that came first in the list will have it components added first.
>
> As such it is recommended you follow the order of options when using them. So, an option whose list number is less should be added first.
Currently available `presets` are,
- nvim
1. animated
- nvim_mini
1. animated
1. dark_alt
2. dark_alt_animated
- startify(based on `vim-strtify`)
1. green
2. red
3. pink
4. flamingo
5. gradient_blue_green
6. gradient_endless_river(taken from `uiGradients`)
7. gradient_friday(taken from `uiGradients`)
8. recent_files
9. recent_files_current_dir
10. list_shade
- cats(they are in `rows x columns` structure)
1. c1x2
2. c1x3
3. c1x4
4. c2x2
5. c3x3
6. c3x1
7. rosewater
8. rosewater_alt
9. mauve
10. mauve_alt
11. yellow
12. yellow_alt
13. green
14. green_alt
15. blue
16. blue_alt
17. all_the_colors
19. all_the_colors_alt
- hydra(based on the "Evil" theme of `startup.nvim`)
1. animated
More `presets` are going to be added in the future. If you want a specific type of preset you can open an `issue` for it.
🌌 Plugin showcase
Images
>[!NOTE]
> The images were taken on my phone so they can be a bit blurry.






Videos
https://github.com/OXY2DEV/intro.nvim/assets/122956967/2d4b230a-328a-4b80-90c4-55f9b6d26dab
https://github.com/OXY2DEV/intro.nvim/assets/122956967/b415931b-aa95-48e6-9133-847af7d222e2
https://github.com/OXY2DEV/intro.nvim/assets/122956967/9e9ed7b7-86b1-4412-8328-82b9071e8c65