Nan C. Schaller

16 papers A 3B 3Journal 5Unranked 5
YearRankTypeTitle / Venue / Authors
2005 J jnl
Comput. Graph.
Joe Geigel, Nan C. Schaller
2004 conf
SIGGRAPH Educators Program
Joe Geigel, Nan C. Schaller
2003 B conf
ITiCSE
Keitha A. Murray, Jesse M. Heines, Michael Kölling, Tom Moore, Paul J. Wagner, Nan C. Schaller, John A. Trono
2003 B conf
ITiCSE
Evelyn P. Rozanski, Nan C. Schaller
2000 A conf
SIGCSE
Joel C. Adams, Chris Nevison, Nan C. Schaller
1997 B conf
ITiCSE
Nan C. Schaller, Michael Berman, Judith Bishop, Paddy Nixon, Evelyn P. Rozanski, Peter Welch
1997 conf
ITiCSE-WGR
Nan C. Schaller, Michael Berman, Judith Bishop, Paddy Nixon, Evelyn P. Rozanski, Peter Welch
1995 conf
IPPS
Daniel C. Hyde, David Kotz, Gordon Makinson, Panagiotis Takis Metaxas, Christopher H. Nevison, Nan C. Schaller, Gregory V. Wilson
1995 J jnl
ACM SIGCSE Bull.
Nan C. Schaller, Andrew T. Kitchen
1995 conf
Parallel and Distributed Computing and Systems
Nan C. Schaller
1994 conf
IPPS
Russ Miller, Nan C. Schaller
1992 J jnl
ACM SIGCSE Bull.
Andrew T. Kitchen, Nan C. Schaller, Paul T. Tymann
1991 J jnl
ACM SIGCSE Bull.
Nan C. Schaller
1991 A conf
IEEE Visualization
Nan C. Schaller
1991 A conf
SC
Nan C. Schaller
1988 J jnl
ACM SIGCSE Bull.
Nan C. Schaller
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