# Lumacs Packages Official package repository for [Lumacs](https://github.com/lumacs/lumacs) editor. ## Available Packages | Package | Description | |---------|-------------| | **zen-mode** | Distraction-free writing mode with increased font size and word wrap | | **which-key** | Display available keybindings when prefix key is pressed | | **projectile** | Project management and navigation with file finding | | **company-mode** | Text completion framework with multiple backends | | **doom-modeline** | Doom Emacs-inspired modeline styling | | **smartparens** | Automatic pairing of brackets and quotes | | **ido** | Enhanced completion with fuzzy matching | | **rainbow-delimiters** | Colorize nested delimiters by depth | | **goto-line** | Go to specific line number (M-g g) | | **recentf** | Track and access recently opened files | | **bookmarks** | Save and jump between named positions | | **visual-line** | Soft word wrap mode | ## Installation ### Using Package Manager Add packages to your `~/.lumacs/packages.lua`: ```lua return { -- Install by name (from registry) "zen-mode", "which-key", -- With configuration { "doom-modeline", config = function() lumacs.doom_modeline.set_preset("nord") end }, } ``` Then restart Lumacs or run `M-x package-install`. ### Manual Installation Clone this repository and load packages directly: ```lua return { { dir = "~/path/to/lumacs-packages/zen-mode" }, } ``` ## Package Structure Each package directory contains: ``` package-name/ ├── package.lua # Package metadata (required) ├── init.lua # Main entry point (required) └── lua/ # Additional modules (optional) ``` ### package.lua ```lua return { name = "package-name", version = "1.0.0", description = "Short description", author = "Your Name", license = "MIT", dependencies = {}, -- Other packages this depends on keywords = {"tag1", "tag2"}, } ``` ### init.lua ```lua local M = {} function M.setup(opts) -- Configuration handling end -- Register commands editor:register_command("my-command", "Description", function() -- Implementation end) -- Auto-setup M.setup() return M ``` ## Contributing 1. Fork this repository 2. Create a new directory for your package 3. Add `package.lua` and `init.lua` 4. Submit a pull request ## License MIT License - See individual packages for their specific licenses.