Skip to content

Praczet/lazyvim-config

Repository files navigation

💤 LazyVim Configuration by Praczet

A customized configuration for LazyVim, tailored to fit my personal workflow and plugin preferences.

Introduction

This configuration is based on the original LazyVim template, which provides a modular and extensible framework for Neovim. My setup enhances the default settings by adding custom plugins and personal optimizations that make Neovim more suited for my daily use as a developer and note-taker.

lazyvim-config

My Changes

Here are some of the significant changes I've made to the original LazyVim setup:

  • Dashboard Customizations: The dashboard has been extensively customized to improve productivity by integrating several of my plugins:
    • Next-Birthday: Displays upcoming birthdays using data from my personal markdown file (~/Notes/me-social.md). This ensures that important dates are easily visible right from my Neovim start screen.
    • Little-Taskwarrior: Integrates a lightweight task management interface directly into the dashboard, configured with an urgency threshold of 7. This helps prioritize important tasks without leaving Neovim.
    • Last Five Notes: Displays the five most recently added or modified notes from my markdown collection, allowing quick access to the latest notes.
  • PDFExport - a function to export MarkDown file to PDF. It supports callouts, mermaid, darkTheme (I shall write more about it)
  • Custom fold_virt_text_handler - a handler for kevinhwang91/nvim-ufo plugin. It puts second line of DocComment to the folded text.. I will show below (not now)

My Plugins (Written and Used by Me)

Below is the list of plugins that I have personally developed and included in my configuration:

Other Plugins That I Use

In addition to my own plugins, I've integrated several other useful plugins to enhance the Neovim experience:

  • neovim/nvim-lspconfig: Provides easy configuration for Neovim's built-in LSP, enhancing language server support.
  • cmp.nvim: Configured with a source for file paths to improve autocompletion experience.
  • MeanderingProgrammer/render-markdown.nvim: A plugin for rendering markdown in a visually appealing way, optimized for various markdown-like formats including norg, rmd, and org.

Installation

To use this configuration:

  1. Clone the repository:

    git clone https://github.com/Praczet/lazyvim-config.git ~/.config/nvim
  2. Install the dependencies as mentioned in the LazyVim documentation.

UFO - Custom fold_virt_text_handler

My main plugin that I use for folding is kevinhwang91/nvim-ufo. I like it a lot, but there was one feature that I could not find in its configuration: displaying in folded Doc Comment the actual comment. Let's talk example:

Here is php code (unfolded).

image

Here is how by default UFO folds and displays PHPDoc

image

And here is how I want it :-D

image

In a few words when it folds comment block I check if the first line is empty (apart the comment it self /**) is so I put in the virtual text the next line.

Suggestions and Feedback

I always welcome feedback and suggestions for improvements. If you see opportunities to enhance this configuration further, feel free to open an issue or contribute directly through a pull request.