Skip to content

Releases: dexter-xD/loom

Loom v1.3.0 Beta

11 Oct 20:12

Choose a tag to compare

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

System 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-server or python -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 start
    • log_level: "quiet", "normal", or "verbose"
    • show_output_in_console: Display server logs
    • default_directory: Custom serving directory
    • executable_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

  1. Open your web project directory: loom /path/to/web/project
  2. Go to Tools → Start Live Server
  3. Browser opens automatically to http://localhost:8080
  4. 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 needed

New 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 done

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

Package 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

11 Oct 17:05

Choose a tag to compare

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

System 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 installed

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

Package Information

  • Size: 4.1MB
  • Architecture: amd64 (x86_64)
  • Dependencies: Qt5, Lua, KDE Frameworks (auto-installed)
  • License: MIT

Support

Loom v1.2.5 Beta

09 Sep 01:58

Choose a tag to compare

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

System 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 installed

Configuration

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.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: 4.10MB
  • Architecture: amd64
  • Qt5, Lua, and KSyntaxHighlighting dependencies (auto-installed)
  • License: MIT

Support

Loom v1.2.2 Beta

05 Sep 23:48

Choose a tag to compare

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

Loom v1.2.1 Beta

04 Sep 02:35

Choose a tag to compare

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

System 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+T or 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 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: 4.13MB
  • Architecture: amd64
  • Dependencies: Qt5, Lua 5.3/5.4
  • License: MIT

Support

Loom v1.1.0 Beta

01 Sep 14:42

Choose a tag to compare

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

System 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+T or 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 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 = {
        ["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: 4.6MB
  • Architecture: amd64
  • Dependencies: Qt5, Lua 5.3/5.4
  • License: MIT

Support

Loom v1.0.0 Beta

31 Aug 23:34

Choose a tag to compare

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

System 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 installed

Configuration

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.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: 4.2MB
  • Architecture: amd64
  • Dependencies: Qt5, Lua 5.3/5.4
  • License: MIT

Support