Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/praczet/lazyvim-config

My personal cusomization of the LazyVim config
https://github.com/praczet/lazyvim-config

dashboard folding latex latex-template lazyvim mariadb markdown neovim nvim-configs nvim-ufo pandoc pandoc-filter pdf pdf-export sql taskwarrior

Last synced: 26 days ago
JSON representation

My personal cusomization of the LazyVim config

Awesome Lists containing this project

README

        

# 💤 LazyVim Configuration by Praczet

A customized configuration for [LazyVim](https://github.com/LazyVim/LazyVim),
tailored to fit my personal workflow and plugin preferences.

## Introduction

This configuration is based on the original
[LazyVim](https://github.com/LazyVim/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](https://github.com/user-attachments/assets/5f3de384-bbd2-44ae-9256-d223877a1835)

## 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](https://github.com/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:

- **[Praczet/yaml-tags.nvim](https://github.com/Praczet/yaml-tags.nvim)**: A
plugin to facilitate using tags in the yaml front matter
- **[Praczet/sql-command.nvim](https://github.com/Praczet/sql-command.nvim)**:
Allows to run SQL query for specific database (current line or selection)
- **[Praczet/encrypt-text.nvim](https://github.com/Praczet/encrypt-text.nvim)**:
A plugin to encrypt text directly within Neovim, providing a lightweight and
convenient encryption solution.
- **[Praczet/next-birthday.nvim](https://github.com/Praczet/next-birthday.nvim)**:
Keeps track of upcoming birthdays, using data from my personal markdown notes
(`~/Notes/me-social.md`).
- **[Praczet/habits-tracker.nvim](https://github.com/Praczet/habits-tracker.nvim)**:
A plugin to manage and track daily habits within Neovim. Configured to start the
week on Monday, and allows tracking of multiple personal habits.
- **[Praczet/little-taskwarrior.nvim](https://github.com/Praczet/little-taskwarrior.nvim)**:
A plugin to display Tasks from the taskwarriot. It can be integrated in
dashboard.
- **[Praczet/words-the-def.nvim](https://github.com/Praczet/words-the-def.nvim)**:
Displays a word's definition, synonyms. It uses datamuse.com's API
- **[Praczet/markdown-links.nvim](https://github.com/Praczet/markdown-links.nvim)**:
LIttle helper for selecting files for markdown notes

## 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:

```sh
git clone https://github.com/Praczet/lazyvim-config.git ~/.config/nvim
```

2. Install the dependencies as mentioned in the LazyVim
[documentation](https://lazyvim.github.io/installation).

## 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](https://github.com/user-attachments/assets/26ed9abd-221e-4259-a569-4bcf4ce55c57)

Here is how by default UFO folds and displays PHPDoc

![image](https://github.com/user-attachments/assets/b20288f7-5705-4315-9963-4a297aeb7a62)

And here is how I want it :-D

![image](https://github.com/user-attachments/assets/498a7f24-e9a5-460f-bdf5-0b0a4bcb1972)

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.