Skip to content

Loom v1.2.2 Beta

Choose a tag to compare

@dexter-xD dexter-xD released this 05 Sep 23:48
· 19 commits to main since this release

Logo 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
loom

System 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.sh script 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 installed

Configuration

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.sh

Known 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