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