Xiao Li

15 papers A* 2B 3Journal 8Unranked 2
YearRankTypeTitle / Venue / Authors
2025 J jnl
Cogn. Comput.
Rui Mao, Guanyi Chen, Xiao Li, Mengshi Ge, Erik Cambria
2025 J jnl
CoRR
Rui Mao, Qian Liu, Xiao Li, Erik Cambria, Amir Hussain
2024 J jnl
Cogn. Comput.
Rui Mao, Qian Liu, Xiao Li, Erik Cambria, Amir Hussain
2023 conf
ACL (demo)
Rui Mao, Xiao Li, Kai He, Mengshi Ge, Erik Cambria
2022 J jnl
Inf. Fusion
Rui Mao, Xiao Li, Mengshi Ge, Erik Cambria
2021 A* conf
AAAI
Rui Mao, Xiao Li
2020 conf
EMNLP (1)
Xiao Li, Guanyi Chen, Chenghua Lin, Ruizhe Li
2020 J jnl
CoRR
Xiao Li, Guanyi Chen, Chenghua Lin, Ruizhe Li
2020 B conf
COLING
Ruizhe Li, Xiao Li, Guanyi Chen, Chenghua Lin
2020 J jnl
CoRR
Ruizhe Li, Xiao Li, Guanyi Chen, Chenghua Lin
2020 A* conf
ICML
Xiao Li, Chenghua Lin, Ruizhe Li, Chaozheng Wang, Frank Guerin
2019 B conf
CoNLL
Ruizhe Li, Chenghua Lin, Matthew Collinson, Xiao Li, Guanyi Chen
2019 B conf
INLG
Ruizhe Li, Xiao Li, Chenghua Lin, Matthew Collinson, Rui Mao
2019 J jnl
CoRR
Ruizhe Li, Xiao Li, Chenghua Lin, Matthew Collinson, Rui Mao
2018 J jnl
CoRR
Ruizhe Li, Chenghua Lin, Matthew Collinson, Xiao Li, Guanyi Chen
lint.sh
← Index lint.sh bash
#!/bin/bash

# Linting script for REDB project
# Usage: ./lint.sh [--fix] [--check-only]

set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Default values
FIX=false
CHECK_ONLY=false

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        --fix)
            FIX=true
            shift
            ;;
        --check-only)
            CHECK_ONLY=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            echo "Usage: $0 [--fix] [--check-only]"
            exit 1
            ;;
    esac
done

echo -e "${GREEN}Running linting checks on REDB project...${NC}"

# Check if we're in a virtual environment
if [[ "$VIRTUAL_ENV" == "" ]]; then
    echo -e "${YELLOW}Warning: Not in a virtual environment. Consider activating one.${NC}"
fi

# Function to run a command and check its exit status
run_check() {
    local name="$1"
    local command="$2"
    
    echo -e "\n${YELLOW}Running $name...${NC}"
    if eval "$command"; then
        echo -e "${GREEN}✓ $name passed${NC}"
    else
        echo -e "${RED}✗ $name failed${NC}"
        return 1
    fi
}

# Track overall success
overall_success=true

# 1. isort (import sorting)
if [[ "$FIX" == true ]]; then
    run_check "isort" "isort redb/" || overall_success=false
else
    run_check "isort" "isort --check-only --diff redb/" || overall_success=false
fi

# 2. black (code formatting)
if [[ "$FIX" == true ]]; then
    run_check "black" "black redb/" || overall_success=false
else
    run_check "black" "black --check --diff redb/" || overall_success=false
fi

# 3. flake8 (style and error checking)
run_check "flake8" "flake8 redb/" || overall_success=false

# 4. pylint (comprehensive analysis)
run_check "pylint" "pylint --rcfile=pyproject.toml redb/" || overall_success=false

echo -e "\n${GREEN}Linting completed!${NC}"

if [[ "$overall_success" == true ]]; then
    echo -e "${GREEN}All checks passed! ✨${NC}"
    exit 0
else
    echo -e "${RED}Some checks failed. Please fix the issues above.${NC}"
    exit 1
fi