Skip to content

OXY2DEV/intro.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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.

-- 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
}

🧰 Mini.deps

-- 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.

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
    2. dark_alt
    3. 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
    18. 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.

Screenshot_1

Screenshot_1_L

Screenshot_2_L

Screenshot_3_L

Screenshot_4_L

Screenshot_5_L

Videos

1000083298.mp4
1000083297.mp4
1000083296.mp4

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages