Releases: dexter-xD/loom
Loom v1.3.0 Beta
Loom v1.3.0 Beta
Major update with integrated live-server for web development workflow.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.3.0/loom_1.3.0_amd64.deb
sudo dpkg -i loom_1.3.0_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5, Lua, and KDE Framework dependencies (auto-installed)
What's New in v1.3.0
🚀 Integrated Live-Server (MAJOR NEW FEATURE)
- Built-in web development server: No need for external tools like
live-serverorpython -m http.server - Hot reload functionality: Automatic browser refresh when files change
- Real-time file watching: Monitors HTML, CSS, JS, and other web files for changes
- WebSocket-based updates: Fast, efficient communication between server and browser
- Configurable settings: Port, directory, log levels, and auto-browser opening
🛠️ Live-Server Integration
- Tools menu integration: Start/stop live-server directly from the editor
- Status bar indicators: Shows server status, port, and URL when running
- Browser auto-open: Automatically opens your default browser to the development URL
- Error handling: Clear error messages and status updates
- Process management: Proper server startup, shutdown, and cleanup
⚙️ Enhanced Configuration
- Live-server settings in
config.lua:port: Server port (default: 8080)auto_open_browser: Auto-open browser on startlog_level: "quiet", "normal", or "verbose"show_output_in_console: Display server logsdefault_directory: Custom serving directoryexecutable_path: Custom live-server binary path
🎨 Professional Output Formatting
- Clean console output: ANSI escape sequences automatically removed
- Filtered logging: Mongoose debug messages hidden for cleaner output
- Formatted status messages: Professional server status in status bar
- Configurable verbosity: Choose your preferred log level
📦 Enhanced Packaging
- Live-server binary included: No external dependencies for web development
- Complete distribution: Everything needed for web development workflow
- System integration: Proper installation paths and permissions
Live-Server Usage
Quick Start
- Open your web project directory:
loom /path/to/web/project - Go to Tools → Start Live Server
- Browser opens automatically to
http://localhost:8080 - Edit your HTML/CSS/JS files - browser refreshes automatically!
Configuration Example
-- config/config.lua
config = {
live_server = {
enabled = true,
port = "3000", -- Custom port
auto_open_browser = true, -- Auto-open browser
log_level = "normal", -- "quiet", "normal", "verbose"
show_output_in_console = true, -- Show server logs
default_directory = "", -- Use current file's directory
executable_path = "" -- Use bundled live-server
}
}Supported File Types
The live-server watches and triggers reloads for:
- HTML files:
.html,.htm - CSS files:
.css,.scss,.sass,.less - JavaScript files:
.js,.ts,.jsx,.tsx - Images:
.png,.jpg,.jpeg,.gif,.svg,.webp - Other web assets:
.json,.xml,.txt
Key Features
- Professional text editing powered by KDE's KTextEditor framework
- Advanced syntax highlighting with KSyntaxHighlighting for 300+ languages
- 21 unified themes with consistent UI and syntax highlighting
- File tree viewer with project navigation and F12 toggle
- Multi-tab interface with clean, distraction-free design
- Working keyboard shortcuts with proper KTextEditor integration
- Lua-based configuration with dynamic menu updates
- Plugin system with theme switching, auto-save, and code formatting
- 🆕 Integrated live-server for web development with hot reload
Built-in Plugins
Theme Switcher Plugin:
- Toggle between 21 themes with
Ctrl+Shift+T - Unified theming for UI and syntax highlighting
- Includes Gruvbox, Dracula, Nord, Atom One Dark, and more
AutoFormat Plugin:
- Format code with
Ctrl+Shift+F - Supports clang-format, prettier, black, stylua, rustfmt
- Format on save option
AutoSave Plugin:
- Automatic file saving with configurable intervals
- Smart saving when content changes
Web Development Workflow
Traditional Workflow (Before v1.3.0)
# Terminal 1: Start external server
cd /path/to/project
python -m http.server 8080
# or
npx live-server
# Terminal 2: Edit files
loom index.html
# Manual browser refresh neededNew Integrated Workflow (v1.3.0+)
# Single command - everything integrated!
loom /path/to/web/project
# In Loom:
# 1. Tools → Start Live Server
# 2. Browser opens automatically
# 3. Edit files - auto-refresh!
# 4. Tools → Stop Live Server when doneWorking Keyboard Shortcuts
All shortcuts work seamlessly with KTextEditor:
| Shortcut | Action | Shortcut | Action |
|---|---|---|---|
Ctrl+S |
Save file | Ctrl+Z |
Undo |
Ctrl+O |
Open file | Ctrl+Y |
Redo |
Ctrl+N |
New file | Ctrl+C |
Copy |
Ctrl+T |
New tab | Ctrl+V |
Paste |
Ctrl+W |
Close file | Ctrl+X |
Cut |
Ctrl+Q |
Quit | Ctrl+A |
Select all |
F11 |
Fullscreen | Ctrl+F |
Find |
F12 |
File tree | Ctrl+H |
Replace |
Ctrl+Shift+T |
Toggle theme | Ctrl+Shift+F |
Format code |
Configuration
Configure everything in config/config.lua:
config = {
theme = {
name = "gruvbox Dark" -- 21 themes available
},
keybindings = {
["Ctrl+S"] = "save_file",
["F12"] = "toggle_file_tree",
["Ctrl+Shift+T"] = "toggle_theme",
-- All shortcuts customizable
},
live_server = {
enabled = true,
port = "8080",
auto_open_browser = true,
log_level = "normal",
show_output_in_console = true
}
}Build from Source
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shPackage Information
- Size: ~4.5MB (includes live-server)
- Architecture: amd64 (x86_64)
- Dependencies: Qt5, Lua, KDE Frameworks (auto-installed)
- License: MIT
Support
Loom v1.2.6 Beta
Loom v1.2.6 Beta
Keyboard shortcut fixes and menu improvements for better user experience.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.2.6/loom_1.2.6_amd64.deb
sudo dpkg -i loom_1.2.6_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5, Lua, and KDE Framework dependencies (auto-installed)
What's New in v1.2.6
Fixed Keyboard Shortcuts (MAJOR FIX)
- Resolved KTextEditor conflicts: Fixed "Ambiguous shortcut detected" dialogs
- Working shortcuts: Ctrl+S, Ctrl+C, Ctrl+V, Ctrl+Z, Ctrl+Y and all other shortcuts now work properly
- Seamless integration: Application shortcuts take priority over KTextEditor defaults
- Professional experience: No more shortcut conflicts or dialog interruptions
Enhanced Menu System
- Shortcuts in menus: All menu items now display their keyboard shortcuts (e.g., "Copy Ctrl+C")
- Dynamic display: Shortcuts automatically read from Lua configuration
- Professional appearance: Consistent with modern text editors
- All menus updated: File, Edit, View, and Tools menus show shortcuts
Streamlined Configuration
- Removed redundant shortcuts: Eliminated manual language detection (Ctrl+L, Ctrl+Shift+L)
- Automatic language detection: KTextEditor handles language detection seamlessly
- Cleaner config: Simplified keybindings configuration
- Better integration: Improved harmony between Lua config and Qt interface
Key Features
- Professional text editing powered by KDE's KTextEditor framework
- Advanced syntax highlighting with KSyntaxHighlighting for 300+ languages
- 21 unified themes with consistent UI and syntax highlighting
- File tree viewer with project navigation and F12 toggle
- Multi-tab interface with clean, distraction-free design
- Working keyboard shortcuts with proper KTextEditor integration
- Lua-based configuration with dynamic menu updates
- Plugin system with theme switching, auto-save, and code formatting
Built-in Plugins
Theme Switcher Plugin:
- Toggle between 21 themes with
Ctrl+Shift+T - Unified theming for UI and syntax highlighting
- Includes Gruvbox, Dracula, Nord, Atom One Dark, and more
AutoFormat Plugin:
- Format code with
Ctrl+Shift+F - Supports clang-format, prettier, black, stylua, rustfmt
- Format on save option
AutoSave Plugin:
- Automatic file saving with configurable intervals
- Smart saving when content changes
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedWorking Keyboard Shortcuts
All shortcuts now work seamlessly with KTextEditor:
| Shortcut | Action | Shortcut | Action |
|---|---|---|---|
Ctrl+S |
Save file | Ctrl+Z |
Undo |
Ctrl+O |
Open file | Ctrl+Y |
Redo |
Ctrl+N |
New file | Ctrl+C |
Copy |
Ctrl+T |
New tab | Ctrl+V |
Paste |
Ctrl+W |
Close file | Ctrl+X |
Cut |
Ctrl+Q |
Quit | Ctrl+A |
Select all |
F11 |
Fullscreen | Ctrl+F |
Find |
F12 |
File tree | Ctrl+H |
Replace |
Ctrl+Shift+T |
Toggle theme | Ctrl+Shift+F |
Format code |
Configuration
Configure everything in config/config.lua:
config = {
theme = {
name = "gruvbox Dark" -- 21 themes available
},
keybindings = {
["Ctrl+S"] = "save_file",
["F12"] = "toggle_file_tree",
["Ctrl+Shift+T"] = "toggle_theme",
-- All shortcuts customizable
}
}
## Build from Source
```bash
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shPackage Information
- Size: 4.1MB
- Architecture: amd64 (x86_64)
- Dependencies: Qt5, Lua, KDE Frameworks (auto-installed)
- License: MIT
Support
Loom v1.2.5 Beta
Loom v1.2.5 Beta
Major performance update with optimized syntax highlighting and smooth operation.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.2.5/loom_1.2.5_amd64.deb
sudo dpkg -i loom_1.2.5_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5 and Lua dependencies (auto-installed)
What's New in v1.2.5
Optimized Syntax Highlighting System (MAJOR UPDATE)
- Single unified highlighting system: KSyntaxHighlighting for smooth, fast performance
- Removed performance bottlenecks: Eliminated Tree-sitter and Qt highlighters causing slowdowns
- KDE KSyntaxHighlighting integration: Professional-grade syntax highlighting with excellent performance
- Comprehensive language support: All major programming languages with optimized rendering
- Smooth operation: No more UI freezing or lag during editing
- Better resource management: Reduced memory usage and CPU overhead
Performance Improvements (MAJOR)
- Significant speed boost: Removed heavy Tree-sitter dependencies causing performance issues
- Responsive editing: Smooth scrolling and typing without delays
- Faster startup: Cleaner codebase with optimized dependencies
- Memory optimization: Better resource usage across all operations
- UI responsiveness: Eliminated freezing and lag issues
Codebase Cleanup (TECHNICAL)
- Removed Tree-sitter: Eliminated performance-heavy external dependencies
- Removed Qt highlighters: Replaced with more efficient KSyntaxHighlighting
- Cleaner architecture: Simplified highlighting system for better maintainability
- Reduced complexity: Streamlined codebase with fewer moving parts
- Better stability: Fewer potential points of failure
Bug Fixes and Improvements
- Fixed performance issues: Resolved slow rendering and UI freezing
- Fixed syntax highlighting lag: Eliminated bottlenecks in highlighting system
- Enhanced stability: More reliable operation with fewer crashes
- Improved user experience: Smooth, responsive editing experience
- Updated documentation: Reflects new highlighting system and performance improvements
Key Features
- Lightweight and fast with minimal resource usage
- File tree viewer with collapsible directory navigation and project support
- Multiple themes - Gruvbox, Dracula, and Catppuccin Mocha with easy switching
- Multi-tab interface for managing multiple files
- Syntax highlighting for 300+ languages and formats (C/C++, Python, JavaScript/TypeScript, Java, Rust, Go, Lua, HTML, CSS, JSON, Markdown, and many more)
- Lua-based configuration system with user overrides
- Enhanced plugin system with hot reloading and dynamic menu updates
Built-in Plugins
Theme Switcher Plugin v1.2:
- Toggle between available themes with
Ctrl+Shift+T - Access via Tools → Toggle Theme menu
- Supports Gruvbox, Dracula, and Catppuccin Mocha themes
- Automatic theme cycling and config updates
- Plugin metadata with version tracking
AutoSave Plugin v1.1:
- Automatic file saving with configurable intervals
- Smart saving (only when content changes)
- Status bar integration
- Plugin metadata and version tracking
AutoFormat Plugin:
- Format on save functionality with
Ctrl+Shift+F - Access via Tools → Format Document menu
- Supports external formatters:
- C/C++: clang-format
- JavaScript/TypeScript: prettier
- Python: black
- Lua: stylua
- JSON/HTML/CSS: prettier
- Rust: rustfmt
- Language auto-detection and plugin validation
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedConfiguration
The main configuration file config/config.lua now supports theme selection, syntax highlighting themes, and enhanced plugin settings:
config = {
editor = {
font_family = "JetBrains Mono",
font_size = 12,
tab_width = 4,
show_line_numbers = true
},
-- Theme configuration with KSyntaxHighlighting support
theme = {
name = "gruvbox", -- Available: "gruvbox", "dracula", "catppuccin-mocha"
syntax_theme = "gruvbox Dark" -- KSyntaxHighlighting theme
-- Available themes: "Atom One Dark", "Atom One Light", "Breeze Dark",
-- "Dracula", "Monokai", "Nord", "Solarized Dark", etc.
},
-- Enhanced keybindings
keybindings = {
["F12"] = "toggle_file_tree", -- File tree panel toggle
["Ctrl+Shift+T"] = "toggle_theme", -- Theme switching
["Ctrl+Shift+F"] = "format_document", -- Document formatting
-- ... other keybindings
},
plugins = {
enabled = true,
auto_load = true,
-- Theme switcher plugin
theme_switcher = {
enabled = true,
auto_load = true
},
autosave = {
enabled = false,
interval = 30
},
autoformat = {
enabled = true,
auto_load = true,
format_on_save = true
}
}
}
## Build from Source
```bash
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shKnown Limitations
- Linux only (Windows/macOS support planned)
- Beta software with potential rough edges
- External formatters must be installed separately
- No plugin manager UI yet
Package Information
- Size: 4.10MB
- Architecture: amd64
- Qt5, Lua, and KSyntaxHighlighting dependencies (auto-installed)
- License: MIT
Support
Loom v1.2.2 Beta
Loom v1.2.2 Beta
Major update with file tree viewer, project navigation, and enhanced user experience.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.2.2/loom_1.2.2_amd64.deb
sudo dpkg -i loom_1.2.2_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5 and Lua dependencies (auto-installed)
What's New in v1.2.2
Enhanced Syntax Highlighting System (NEW)
- Dual highlighting system: Tree-sitter + Basic Qt highlighters for comprehensive language support
- Advanced Tree-sitter highlighting: Semantic analysis for C/C++, Python, JavaScript, Rust, Java, Go, Lua
- Basic Qt highlighting: Fast regex-based highlighting for HTML, CSS, JSON, and embedded content
- Customizable color schemes: Extensive configuration options for both highlighting systems
- Tree-sitter dependency management: Automated download script for development setup
- Removed git submodules: Cleaner repository structure with manual dependency management
Syntax Highlighting Configuration (NEW)
- Tree-sitter colors: Comprehensive color customization for programming languages
- Basic highlighter colors: Dedicated color settings for web technologies and data formats
- Theme consistency: Unified color schemes across both highlighting systems
- Real-time color updates: Changes apply immediately without restart
- Extensive documentation: Complete guide for customizing syntax highlighting
Development Workflow Improvements (NEW)
- Automated dependency setup:
download_tree_sitter_deps.shscript for easy development setup - Enhanced documentation: Updated README with syntax highlighting guide and development instructions
- Improved project structure: Clear organization of external dependencies
- Better testing: Separate test commands for Tree-sitter and basic highlighting
Bug Fixes and Improvements
- Fixed syntax highlighting connection: Resolved config.lua integration issues
- Fixed basic highlighter integration: Improved Lua bridge communication
- Enhanced color customization: Better support for theme consistency
- Improved documentation: Comprehensive syntax highlighting guide
- Development setup: Streamlined workflow for new contributors
Key Features
- Lightweight and fast with minimal resource usage
- File tree viewer with collapsible directory navigation and project support
- Multiple themes - Gruvbox, Dracula, and Catppuccin Mocha with easy switching
- Multi-tab interface for managing multiple files
- Syntax highlighting for C/C++, JavaScript, TypeScript, Python, Lua, JSON, HTML, CSS, Rust
- Lua-based configuration system with user overrides
- Enhanced plugin system with hot reloading and dynamic menu updates
Built-in Plugins
Theme Switcher Plugin v1.2:
- Toggle between available themes with
Ctrl+Shift+T - Access via Tools → Toggle Theme menu
- Supports Gruvbox, Dracula, and Catppuccin Mocha themes
- Automatic theme cycling and config updates
- Plugin metadata with version tracking
AutoSave Plugin v1.1:
- Automatic file saving with configurable intervals
- Smart saving (only when content changes)
- Status bar integration
- Plugin metadata and version tracking
AutoFormat Plugin:
- Format on save functionality with
Ctrl+Shift+F - Access via Tools → Format Document menu
- Supports external formatters:
- C/C++: clang-format
- JavaScript/TypeScript: prettier
- Python: black
- Lua: stylua
- JSON/HTML/CSS: prettier
- Rust: rustfmt
- Language auto-detection and plugin validation
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedConfiguration
The main configuration file config/config.lua now supports theme selection and enhanced plugin settings:
config = {
editor = {
font_family = "JetBrains Mono",
font_size = 12,
tab_width = 4,
show_line_numbers = true
},
-- Theme configuration (NEW in v1.1.0)
theme = {
name = "gruvbox" -- Options: "gruvbox", "dracula", "catppuccin-mocha"
},
-- Enhanced keybindings (NEW in v1.1.0)
keybindings = {
["F12"] = "toggle_file_tree", -- File tree panel toggle
["Ctrl+Shift+T"] = "toggle_theme", -- Theme switching
["Ctrl+Shift+F"] = "format_document", -- Document formatting
-- ... other keybindings
},
plugins = {
enabled = true,
auto_load = true,
-- Theme switcher plugin (NEW in v1.1.0)
theme_switcher = {
enabled = true,
auto_load = true
},
autosave = {
enabled = false,
interval = 30
},
autoformat = {
enabled = true,
auto_load = true,
format_on_save = true
}
}
}
## Build from Source
```bash
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shKnown Limitations
- Linux only (Windows/macOS support planned)
- Beta software with potential rough edges
- External formatters must be installed separately
- No plugin manager UI yet
Package Information
- Size: 5MB
- Architecture: amd64
- Dependencies: Qt5, Lua 5.3/5.4
- License: MIT
Support
Loom v1.2.1 Beta
Loom v1.2.1 Beta
Major update with file tree viewer, project navigation, and enhanced user experience.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.2.1/loom_1.2.1_amd64.deb
sudo dpkg -i loom_1.2.1_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5 and Lua dependencies (auto-installed)
What's New in v1.2.1
File Tree Viewer (NEW)
- File tree viewer: Navigate project directories with collapsible tree structure
- Project support: Open entire projects with
./loom project-folder - File tree panel: Toggle visibility with F12 shortcut
- Context menus: Right-click for file operations (new, rename, delete)
- Single-click opening: Click files in tree to open them instantly
- Theme integration: File tree colors match current theme
- Modern scrollbar: Clean, unobtrusive scrollbar design
Theme System
- Multiple themes: Gruvbox, Dracula, and Catppuccin Mocha
- Theme switching: Toggle between themes with
Ctrl+Shift+Tor Tools menu - Dynamic theme loading: Change themes without restarting
- Config-based theme selection: Set default theme in
config.lua
Enhanced Plugin System
- Theme Switcher Plugin v1.2: Complete theme management with metadata
- Plugin validation: Proper checking of enabled/auto_load settings
- Dynamic menu updates: Plugin menu items appear/disappear based on plugin status
- Plugin metadata: Version tracking and descriptions for all plugins
- Improved plugin loading: Better error handling and status reporting
User Experience Improvements
- Tools menu integration: Format Document and Toggle Theme options
- Keybinding consistency: All plugin actions now use config-based keybindings
- Menu visibility: Plugin-dependent menu items only show when plugins are enabled
- Plugin reload support: Menu refreshes automatically after plugin reload
- File tree integration: Seamless project navigation experience
Bug Fixes
- Fixed theme switcher boolean configuration being ignored
- Fixed theme switching only working once (config update issue)
- Fixed plugin keybindings showing errors when plugins disabled
- Fixed menu items always visible regardless of plugin status
- Improved plugin validation logic for consistent behavior
Key Features
- Lightweight and fast with minimal resource usage
- File tree viewer with collapsible directory navigation and project support
- Multiple themes - Gruvbox, Dracula, and Catppuccin Mocha with easy switching
- Multi-tab interface for managing multiple files
- Syntax highlighting for C/C++, JavaScript, TypeScript, Python, Lua, JSON, HTML, CSS, Rust
- Lua-based configuration system with user overrides
- Enhanced plugin system with hot reloading and dynamic menu updates
Built-in Plugins
Theme Switcher Plugin v1.2:
- Toggle between available themes with
Ctrl+Shift+T - Access via Tools → Toggle Theme menu
- Supports Gruvbox, Dracula, and Catppuccin Mocha themes
- Automatic theme cycling and config updates
- Plugin metadata with version tracking
AutoSave Plugin v1.1:
- Automatic file saving with configurable intervals
- Smart saving (only when content changes)
- Status bar integration
- Plugin metadata and version tracking
AutoFormat Plugin:
- Format on save functionality with
Ctrl+Shift+F - Access via Tools → Format Document menu
- Supports external formatters:
- C/C++: clang-format
- JavaScript/TypeScript: prettier
- Python: black
- Lua: stylua
- JSON/HTML/CSS: prettier
- Rust: rustfmt
- Language auto-detection and plugin validation
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedConfiguration
The main configuration file config/config.lua now supports theme selection and enhanced plugin settings:
config = {
editor = {
font_family = "JetBrains Mono",
font_size = 12,
tab_width = 4,
show_line_numbers = true
},
-- Theme configuration (NEW in v1.1.0)
theme = {
name = "gruvbox" -- Options: "gruvbox", "dracula", "catppuccin-mocha"
},
-- Enhanced keybindings (NEW in v1.1.0)
keybindings = {
["F12"] = "toggle_file_tree", -- File tree panel toggle
["Ctrl+Shift+T"] = "toggle_theme", -- Theme switching
["Ctrl+Shift+F"] = "format_document", -- Document formatting
-- ... other keybindings
},
plugins = {
enabled = true,
auto_load = true,
-- Theme switcher plugin (NEW in v1.1.0)
theme_switcher = {
enabled = true,
auto_load = true
},
autosave = {
enabled = false,
interval = 30
},
autoformat = {
enabled = true,
auto_load = true,
format_on_save = true
}
}
}
## Build from Source
```bash
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shKnown Limitations
- Linux only (Windows/macOS support planned)
- Beta software with potential rough edges
- External formatters must be installed separately
- No plugin manager UI yet
Package Information
- Size: 4.13MB
- Architecture: amd64
- Dependencies: Qt5, Lua 5.3/5.4
- License: MIT
Support
Loom v1.1.0 Beta
Loom v1.1.0 Beta
Major update with theme switching, enhanced plugin system, and improved user experience.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.1.0/loom_1.1.0_amd64.deb
sudo dpkg -i loom_1.1.0_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5 and Lua dependencies (auto-installed)
What's New in v1.1.0
Theme System
- Multiple themes: Gruvbox, Dracula, and Catppuccin Mocha
- Theme switching: Toggle between themes with
Ctrl+Shift+Tor Tools menu - Dynamic theme loading: Change themes without restarting
- Config-based theme selection: Set default theme in
config.lua
Enhanced Plugin System
- Theme Switcher Plugin v1.2: Complete theme management with metadata
- Plugin validation: Proper checking of enabled/auto_load settings
- Dynamic menu updates: Plugin menu items appear/disappear based on plugin status
- Plugin metadata: Version tracking and descriptions for all plugins
- Improved plugin loading: Better error handling and status reporting
User Experience Improvements
- Tools menu integration: Format Document and Toggle Theme options
- Keybinding consistency: All plugin actions now use config-based keybindings
- Menu visibility: Plugin-dependent menu items only show when plugins are enabled
- Plugin reload support: Menu refreshes automatically after plugin reload
Bug Fixes
- Fixed theme switcher boolean configuration being ignored
- Fixed theme switching only working once (config update issue)
- Fixed plugin keybindings showing errors when plugins disabled
- Fixed menu items always visible regardless of plugin status
- Improved plugin validation logic for consistent behavior
Key Features
- Lightweight and fast with minimal resource usage
- Multiple themes - Gruvbox, Dracula, and Catppuccin Mocha with easy switching
- Multi-tab interface for managing multiple files
- Syntax highlighting for C/C++, JavaScript, TypeScript, Python, Lua, JSON, HTML, CSS, Rust
- Lua-based configuration system with user overrides
- Enhanced plugin system with hot reloading and dynamic menu updates
Built-in Plugins
Theme Switcher Plugin v1.2:
- Toggle between available themes with
Ctrl+Shift+T - Access via Tools → Toggle Theme menu
- Supports Gruvbox, Dracula, and Catppuccin Mocha themes
- Automatic theme cycling and config updates
- Plugin metadata with version tracking
AutoSave Plugin v1.1:
- Automatic file saving with configurable intervals
- Smart saving (only when content changes)
- Status bar integration
- Plugin metadata and version tracking
AutoFormat Plugin:
- Format on save functionality with
Ctrl+Shift+F - Access via Tools → Format Document menu
- Supports external formatters:
- C/C++: clang-format
- JavaScript/TypeScript: prettier
- Python: black
- Lua: stylua
- JSON/HTML/CSS: prettier
- Rust: rustfmt
- Language auto-detection and plugin validation
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedConfiguration
The main configuration file config/config.lua now supports theme selection and enhanced plugin settings:
config = {
editor = {
font_family = "JetBrains Mono",
font_size = 12,
tab_width = 4,
show_line_numbers = true
},
-- Theme configuration (NEW in v1.1.0)
theme = {
name = "gruvbox" -- Options: "gruvbox", "dracula", "catppuccin-mocha"
},
-- Enhanced keybindings (NEW in v1.1.0)
keybindings = {
["Ctrl+Shift+T"] = "toggle_theme", -- Theme switching
["Ctrl+Shift+F"] = "format_document", -- Document formatting
-- ... other keybindings
},
plugins = {
enabled = true,
auto_load = true,
-- Theme switcher plugin (NEW in v1.1.0)
theme_switcher = {
enabled = true,
auto_load = true
},
autosave = {
enabled = false,
interval = 30
},
autoformat = {
enabled = true,
auto_load = true,
format_on_save = true
}
}
}
## Build from Source
```bash
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shKnown Limitations
- Linux only (Windows/macOS support planned)
- Beta software with potential rough edges
- External formatters must be installed separately
- No plugin manager UI yet
Package Information
- Size: 4.6MB
- Architecture: amd64
- Dependencies: Qt5, Lua 5.3/5.4
- License: MIT
Support
Loom v1.0.0 Beta
Loom v1.0.0 Beta
Initial beta release of Loom, a fast and minimal text editor built with C++ and Qt, featuring Lua scripting for configuration and plugins.
Installation
Debian/Ubuntu:
wget https://github.com/dexter-xd/loom/releases/download/beta_1.0.0/loom_1.0.0_amd64.deb
sudo dpkg -i loom_1.0.0_amd64.deb
sudo apt-get install -f
loomSystem Requirements:
- Linux (Debian/Ubuntu or compatible)
- x86_64 architecture
- Qt5 and Lua dependencies (auto-installed)
Key Features
- Lightweight and fast with minimal resource usage
- Gruvbox theme for comfortable coding
- Multi-tab interface for managing multiple files
- Syntax highlighting for C/C++, JavaScript, TypeScript, Python, Lua, JSON, HTML, CSS, Rust
- Lua-based configuration system with user overrides
- Plugin system with hot reloading support
Built-in Plugins
AutoSave Plugin:
- Automatic file saving with configurable intervals
- Smart saving (only when content changes)
- Status bar integration
AutoFormat Plugin:
- Format on save functionality
- Supports external formatters:
- C/C++: clang-format
- JavaScript/TypeScript: prettier
- Python: black
- Lua: stylua
- JSON/HTML/CSS: prettier
- Rust: rustfmt
- Language auto-detection
Optional Formatters
For full AutoFormat functionality:
sudo apt install clang-format nodejs npm python3-pip
npm install -g prettier
pip3 install black
cargo install stylua # if Rust is installedConfiguration
Create ~/.config/loom/config.lua for personal settings:
config = {
editor = {
font_family = "JetBrains Mono",
font_size = 12,
tab_width = 4,
show_line_numbers = true
},
plugins = {
autosave = { enabled = true, interval = 30 },
autoformat = { enabled = true, format_on_save = true }
}
}Build from Source
sudo apt install cmake qtbase5-dev liblua5.4-dev build-essential
git clone https://github.com/dexter-xd/loom.git
cd loom
./scripts/build_release.sh
./scripts/run_loom.shKnown Limitations
- Linux only (Windows/macOS support planned)
- Beta software with potential rough edges
- External formatters must be installed separately
- No plugin manager UI yet
Package Information
- Size: 4.2MB
- Architecture: amd64
- Dependencies: Qt5, Lua 5.3/5.4
- License: MIT