feat(root): introduce modern UI and core developer experience
Add comprehensive documentation outlining new features introduced, structural changes, and productivity improvements. New Features - Native plugin manager with interactive UI (`:PackUI`) and automatic plugin installation/cleanup. - Integration of Snacks.nvim modules: Dashboard, Picker, Notifier, Scratch, Explorer. - Modern UI/UX enhancements: Smart Column, dynamic `colorcolumn`, animations via `Snacks.animate`. - Auto-save, secure `.env` masking, and automatic directory creation on file save. - LSP and Tree-sitter auto-installation and configuration. Enhancements - Revamped README with organized sections and modern styling. - Added keybinding tables and WhichKey integration for discoverability. - Structured project layout with dedicated Lua modules for plugins, options, autocmds, and keys. Bug Fixes - None
This commit is contained in:
1 file changed
+76
-28
@@ -1,61 +1,109 @@
|
||||
<div align="center">
|
||||
|
||||
<h1>
|
||||
<a href="https://S4NKALP.github.io/keycodex">keycodex</a>
|
||||
<a href="https://S4NKALP.github.io/keycodex">KeyCodeX</a>
|
||||
</h1>
|
||||
|
||||
<!-- Badges -->
|
||||
<p>
|
||||
<a href="https://github.com/S4NKALP/keycodex/blob/main/LICENSE">
|
||||
<img alt="License" src="https://img.shields.io/github/license/S4NKALP/keycodex?style=flat&color=eee">
|
||||
</a>
|
||||
<a href="https://github.com/S4NKALP/keycodex/graphs/contributors">
|
||||
<img alt="People" src="https://img.shields.io/github/contributors/S4NKALP/keycodex?style=flat&color=ffaaf2&label=People">
|
||||
<img alt="License" src="https://img.shields.io/github/license/S4NKALP/keycodex?style=for-the-badge&color=eee&logo=github">
|
||||
</a>
|
||||
<a href="https://github.com/S4NKALP/keycodex/stargazers">
|
||||
<img alt="Stars" src="https://img.shields.io/github/stars/S4NKALP/keycodex?style=flat&color=98c379&label=Stars">
|
||||
</a>
|
||||
<a href="https://github.com/S4NKALP/keycodex/network/members">
|
||||
<img alt="Forks" src="https://img.shields.io/github/forks/S4NKALP/keycodex?style=flat&color=66a8e0&label=Forks">
|
||||
</a>
|
||||
<a href="https://github.com/S4NKALP/keycodex/watchers">
|
||||
<img alt="Watches" src="https://img.shields.io/github/watchers/S4NKALP/keycodex?style=flat&color=f5d08b&label=Watches">
|
||||
<img alt="Stars" src="https://img.shields.io/github/stars/S4NKALP/keycodex?style=for-the-badge&color=98c379&label=Stars">
|
||||
</a>
|
||||
<a href="https://github.com/S4NKALP/keycodex/pulse">
|
||||
<img alt="Last Updated" src="https://img.shields.io/github/last-commit/S4NKALP/keycodex?style=flat&color=e06c75">
|
||||
<img alt="Last Updated" src="https://img.shields.io/github/last-commit/S4NKALP/keycodex?style=for-the-badge&color=e06c75">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
> All commit messages in this repo are AI-generated using [DevGen](https://github.com/S4NKALP/DevGen)
|
||||
|
||||
<h3>My Personalized Dev Env ❤️👨💻</h3>
|
||||
<h3>Handcrafted Neovim setup for the ultimate CLI development experience. ❤️👨💻</h3>
|
||||
|
||||
<!-- Screenshot -->
|
||||
<figure>
|
||||
<img src="assets/screenshot.png" alt="keycodex screenshot" style="max-width: 100%; height: auto;">
|
||||
<figcaption>keycodex screenshot</figcaption>
|
||||
<img src="assets/screenshot.png" alt="KeyCodeX screenshot" style="border-radius: 10px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5); max-width: 100%; height: auto;">
|
||||
</figure>
|
||||
|
||||
<p>Handcrafted Neovim setup for the ultimate CLI dev experience</p>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **📦 Native Plugin Management**
|
||||
- Leverages Neovim's built-in package system for robust and fast plugin loading.
|
||||
- Interactive UI for managing plugins with `:PackUI`.
|
||||
- Automatic detection and installation of missing plugins on startup.
|
||||
- Non-interactive cleaning of inactive plugins.
|
||||
|
||||
- **🚀 Powered by [Snacks.nvim](https://github.com/folke/snacks.nvim)**
|
||||
- **Dashboard**: Beautiful startup screen with quick actions.
|
||||
- **Picker**: Ultra-fast file, grep, and project fuzzy finding.
|
||||
- **Notifier**: Modern notification system with history.
|
||||
- **Scratch**: Persistent scratchpads for quick notes or code snippets.
|
||||
- **Explorer**: Integrated file explorer and rename utilities.
|
||||
|
||||
- **🎨 Modern UI & UX**
|
||||
- **Smart Column**: Dynamic `colorcolumn` that only appears when lines exceed limits.
|
||||
- **Aesthetic Design**: Curated color schemes and smooth animations via `Snacks.animate`.
|
||||
- **Mini Ecosystem**: Leveraging `mini.nvim` for files, icons, pairs, and more.
|
||||
|
||||
- **🛠️ Developer Productivity**
|
||||
- **LSP & Tree-sitter**: Fully configured with auto-installation via `:TSInstallAll`.
|
||||
- **Auto-Save**: Smart debounced auto-saving (3s) to prevent data loss.
|
||||
- **Secure Env**: Automatic masking of sensitive values in `.env` files.
|
||||
- **Auto-Directory**: Automatically creates parent directories when saving a new file.
|
||||
|
||||
---
|
||||
|
||||
## 💻 Installation
|
||||
|
||||
```bash
|
||||
# Clone the repository to your Neovim config directory
|
||||
git clone https://github.com/S4NKALP/keycodex ~/.config/nvim
|
||||
|
||||
# Launch Neovim - Missing plugins will install automatically!
|
||||
nvim
|
||||
```
|
||||
|
||||
## 🚀 Usage
|
||||
---
|
||||
|
||||
### Core
|
||||
## 📂 Project Structure
|
||||
|
||||
Files in [lua/core](./lua/core/) control the core of neovim:
|
||||
- [`init.lua`](./init.lua) - Main entry point and orchestration.
|
||||
- [`lua/`](./lua/) - Core logic and system configurations.
|
||||
- [`pack_helper.lua`](./lua/pack_helper.lua) - Helper functions and `add` API for native plugins.
|
||||
- [`packui.lua`](./lua/packui.lua) - Interactive UI for the native plugin manager.
|
||||
- [`keys.lua`](./lua/keys.lua) - Base keybindings and leader configuration.
|
||||
- [`autocmd.lua`](./lua/autocmd.lua) - Smart automation (Auto-save, Smart Column, `.env` masking, Auto-install).
|
||||
- [`options.lua`](./lua/options.lua) - Global Neovim settings & performance tweaks.
|
||||
- [`lsp.lua`](./lua/lsp.lua) - Language Server Protocol & Tree-sitter setup.
|
||||
- [`plugin/`](./plugin/) - Detailed plugin configurations.
|
||||
- [`snacks.lua`](./plugin/snacks.lua) - Modern UI modules (Dashboard, Picker, Notifier, Scratchpad).
|
||||
- [`whichkey.lua`](./plugin/whichkey.lua) - Interactive keyboard shortcut groupings.
|
||||
- [`mini.lua`](./plugin/mini.lua) - Mini ecosystem utilities (Files, Icons, Pairs).
|
||||
|
||||
- [options](./lua/core/options.lua),
|
||||
- [functions](./lua/core/functions.lua)
|
||||
- [autocmds](./lua/core/autocmd.lua)
|
||||
---
|
||||
|
||||
### ⌨️ Keybindings
|
||||
## ⌨️ Keybindings
|
||||
|
||||
Apart from [core/keys](./lua/core/keys.lua) most keybindings are configured using [which-key](./lua/plugins/whichkey.lua)
|
||||
The **Leader Key** is mapped to `<Space>`.
|
||||
|
||||
| Key | Action |
|
||||
| --- | --- |
|
||||
| `<leader>ff` | Find Files |
|
||||
| `<leader>fg` | Live Grep |
|
||||
| `<leader>ee` | Explore Files (Mini) |
|
||||
| `<leader>eE` | Explorer (Snacks) |
|
||||
| `<leader>ps` | Open Plugin Manager (Pack) |
|
||||
| `<leader>ca` | LSP Code Actions |
|
||||
| `<leader>cr` | Rename Symbol |
|
||||
| `<leader>wz` | Toggle Zen Mode |
|
||||
|
||||
*Tip: Use `<leader>` and wait for **WhichKey** to show you the full list of available commands.*
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<p>Handcrafted with ❤️ by <a href="https://github.com/S4NKALP">Sankalp</a></p>
|
||||
</div>
|
||||
Reference in new issue
Block a user