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.
1000083295.mp4
Animated :intro
for Neovim
Installation | Documentation | Presets | Showcase
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.
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.
-- plugins.lua
{
"OXY2DEV/intro.nvim",
-- For file icons
dependencies= {
"nvim-tree/nvim-web-devicons"
},
config = function ()
require("intro").setup();
end
}
-- plugins/intro.lua
return {
"OXY2DEV/intro.nvim",
dependencies = {
"nvim-tree/nvim-web-devicons"
},
config = function ()
require("intro").setup();
end
}
-- depe.lua
require("mini.deps").add({
source = "OXY2DEV/intro.nvim",
depends = {
"nvim-tree/nvim-web-devicons"
}
})
require("intro").setup();
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.
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
- animated
- nvim_mini
- animated
- dark_alt
- dark_alt_animated
- startify(based on
vim-strtify
)- green
- red
- pink
- flamingo
- gradient_blue_green
- gradient_endless_river(taken from
uiGradients
) - gradient_friday(taken from
uiGradients
) - recent_files
- recent_files_current_dir
- list_shade
- cats(they are in
rows x columns
structure)- c1x2
- c1x3
- c1x4
- c2x2
- c3x3
- c3x1
- rosewater
- rosewater_alt
- mauve
- mauve_alt
- yellow
- yellow_alt
- green
- green_alt
- blue
- blue_alt
- all_the_colors
- all_the_colors_alt
- hydra(based on the "Evil" theme of
startup.nvim
)- 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.
Note
The images were taken on my phone so they can be a bit blurry.