#!/bin/bash

if [ "$#" -lt 1 ]; then
    echo "Usage:"
    echo "      sex <file1> [file2] ..."
    exit 1
fi

# Проверка наличия xsel
if ! command -v xsel &> /dev/null; then
    echo "Ошибка: xsel не установлен. Установите его: sudo pacman -S xsel" >&2
    exit 1
fi

# Генерируем весь контент и передаем его напрямую в буфер обмена
{
    # Project parser
    printf 'Структура проекта\n```\n'
    if command -v eza &> /dev/null; then
        eza --git-ignore --tree 2>/dev/null || tree -I '.git' 2>/dev/null || find . -not -path './.git/*'
    else
        tree -I '.git' 2>/dev/null || find . -not -path './.git/*'
    fi
    printf '```\n'

    # Files parser
    for file in "$@"; do
        if [ -f "$file" ]; then
            printf 'Содержимое %s\n```\n' "$file"
            cat "$file"
            printf '\n```\n'
        else
            # Ошибки пишем в stderr, чтобы они не попали в буфер обмена
            echo "Файл $file не найден." >&2
        fi
    done
} | xsel --clipboard --input

echo "✅ Скопировано в буфер обмена (X11/xsel)"
