Issue with my code

Hey Im trying to build a car with a rgb led, temp sensor, button to controll rgb colors, petentiometer, my code is as follows, not sure what I did wrong, I probably did something wrong, So if someone can help that would be awesome! First time using this software sorry bois

/*
SparkFun Inventor's Kit
Example sketch 13

SparkFun Motor Controller with Inputs

Use the inputs to manually set the direction and speed of a motor.

This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn more about Arduino.
*/
//define the two direction logic pins and the speed / PWM pin
const int DIR_A = 5;
const int DIR_B = 4;
const int PWM = 6;
const int RED_PIN = 13;
const int GREEN_PIN = 12;
const int BLUE_PIN = 11;
int DISPLAY_TIME = 10;

//define the input pins
const int switchPin = 10;
const int potPin = 0;

void setup()
{
//set all pins as output
pinMode(DIR_A, OUTPUT);
pinMode(DIR_B, OUTPUT);
pinMode(PWM, OUTPUT);
//set the switchPin as INPUT
pinMode(switchPin, INPUT);
{
//set the three pin variables as outputs
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
}

void loop()
{
// We've written a custom function called mainColors() that steps
// through all eight of these colors. We're only "calling" the
// function here (telling it to run). The actual function code
// is further down in the sketch.
mainColors(); {

if (digitalRead(switchPin) == HIGH)

}
{
void mainColors()
{
// Off (all LEDs off):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Red (turn just the red LED on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

//wait 1 seconds
delay(1000);

// Green (turn just the green LED on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Blue (turn just the blue LED on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// Yellow (turn red and green on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Cyan (turn green and blue on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// Purple (turn red and blue on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// White (turn all the LEDs on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);
}

//read the value from the potentiometer and divide
//it by 4 to get a 0-255 range. Store the value in
//the speed variable
int speed = analogRead(potPin) / 4;

//read the value of the switch and store it in the
//direction variable.

//if the value of direction is HIGH drive forward at
//a speed set by the speed variable, else drive reverse
//at a speed set by the speed variable.
if (digitalRead(switchPin) == HIGH)
{
forward(speed);
}
else
{
reverse(speed);
}
}

//create a custom function that defines moving forward
//the forward() function accepts one parameter and that is
//the speed at which you want to drive forward (0-255)
void forward(int spd)
{
//motor contoller direction pins set to forward
digitalWrite(DIR_A, HIGH);
digitalWrite(DIR_B, LOW);

//write the speed by using the parameter of spd
analogWrite(PWM, spd);
}

//create a custom function that defines moving in reverse
//the reverse() function accepts one parameter and that is
//the speed at which you want to drive in reverse (0-255)
void reverse(int spd)
{
//set motor controller pins to reverse
digitalWrite(DIR_A, LOW);
digitalWrite(DIR_B, HIGH);

//write the speed by using the parameter of spd
analogWrite(PWM, spd);
}

not sure what I did wrong,

You didn't tell us what the problem is.

This part has several mistakes and will not compile:

  {
  if (digitalRead(switchPin) == HIGH)
  }
{

Look carefully at the number and position of curly brackets in the loop() function. Auto Format the code in the IDE to help see the problem.

Hey I know that is the issue.

Looking on directions from on here and on.

When I try and upload the code to arduino it shoots out a error on the part on the portion the user reported above me.

Here is the program Auto Formatted in the IDE and in code tags

//define the two direction logic pins and the speed / PWM pin
const int DIR_A = 5;
const int DIR_B = 4;
const int PWM = 6;
const int RED_PIN = 13;
const int GREEN_PIN = 12;
const int BLUE_PIN = 11;
int DISPLAY_TIME = 10;


//define the input pins
const int switchPin = 10;
const int potPin = 0;



void setup()
{
  //set all pins as output
  pinMode(DIR_A, OUTPUT);
  pinMode(DIR_B, OUTPUT);
  pinMode(PWM, OUTPUT);
  //set the switchPin as INPUT
  pinMode(switchPin, INPUT);
  {
    //set the three pin variables as outputs
    pinMode(RED_PIN, OUTPUT);
    pinMode(GREEN_PIN, OUTPUT);
    pinMode(BLUE_PIN, OUTPUT);
  }
}

void loop()
{
  // We've written a custom function called mainColors() that steps
  // through all eight of these colors. We're only "calling" the
  // function here (telling it to run). The actual function code
  // is further down in the sketch.
  mainColors();
  {
    if (digitalRead(switchPin) == HIGH)
    }
  {
    void mainColors()
    {
      // Off (all LEDs off):
      digitalWrite(RED_PIN, LOW);
      digitalWrite(GREEN_PIN, LOW);
      digitalWrite(BLUE_PIN, LOW);
      //wait 1 second
      delay(1000);
      // Red (turn just the red LED on):
      digitalWrite(RED_PIN, HIGH);
      digitalWrite(GREEN_PIN, LOW);
      digitalWrite(BLUE_PIN, LOW);
      //wait 1 seconds
      delay(1000);
      // Green (turn just the green LED on):
      digitalWrite(RED_PIN, LOW);
      digitalWrite(GREEN_PIN, HIGH);
      digitalWrite(BLUE_PIN, LOW);
      //wait 1 second
      delay(1000);
      // Blue (turn just the blue LED on):
      digitalWrite(RED_PIN, LOW);
      digitalWrite(GREEN_PIN, LOW);
      digitalWrite(BLUE_PIN, HIGH);
      //wait 1 second
      delay(1000);
      // Yellow (turn red and green on):
      digitalWrite(RED_PIN, HIGH);
      digitalWrite(GREEN_PIN, HIGH);
      digitalWrite(BLUE_PIN, LOW);
      //wait 1 second
      delay(1000);
      // Cyan (turn green and blue on):
      digitalWrite(RED_PIN, LOW);
      digitalWrite(GREEN_PIN, HIGH);
      digitalWrite(BLUE_PIN, HIGH);
      //wait 1 second
      delay(1000);
      // Purple (turn red and blue on):
      digitalWrite(RED_PIN, HIGH);
      digitalWrite(GREEN_PIN, LOW);
      digitalWrite(BLUE_PIN, HIGH);
      //wait 1 second
      delay(1000);
      // White (turn all the LEDs on):
      digitalWrite(RED_PIN, HIGH);
      digitalWrite(GREEN_PIN, HIGH);
      digitalWrite(BLUE_PIN, HIGH);
      //wait 1 second
      delay(1000);
    }
    //read the value from the potentiometer and divide
    //it by 4 to get a 0-255 range. Store the value in
    //the speed variable
    int speed = analogRead(potPin) / 4;
    //read the value of the switch and store it in the
    //direction variable.
    //if the value of direction is HIGH drive forward at
    //a speed set by the speed variable, else drive reverse
    //at a speed set by the speed variable.
    if (digitalRead(switchPin) == HIGH)
    {
      forward(speed);
    }
    else
    {
      reverse(speed);
    }
  }
  //create a custom function that defines moving forward
  //the forward() function accepts one parameter and that is
  //the speed at which you want to drive forward (0-255)
  void forward(int spd)
  {
    //motor contoller direction pins set to forward
    digitalWrite(DIR_A, HIGH);
    digitalWrite(DIR_B, LOW);
    //write the speed by using the parameter of spd
    analogWrite(PWM, spd);
  }
  //create a custom function that defines moving in reverse
  //the reverse() function accepts one parameter and that is
  //the speed at which you want to drive in reverse (0-255)
  void reverse(int spd)
  {
    //set motor controller pins to reverse
    digitalWrite(DIR_A, LOW);
    digitalWrite(DIR_B, HIGH);
    //write the speed by using the parameter of spd
    analogWrite(PWM, spd);
  }

Each function should start with a { and end with a }
The block of code to be executed conditionally should start with a { and end with a }
Every { should have a corresponding }

Start by fixing those problems