Let's fix $x\in\mathbb{R}$ for the rest of the proof. By analogy with Riemann sums, I'm going to call a partition any finite sequence $X=(x_i)_{i=0,\ldots,n}$ such that $x_0<\ldots<x_n\leq x$. We'll also say that a partition $X'$ is a refinement of $X$ if every element of $X$ is also in $X'$.
For a partition $X=(x_i)_{i=0,\ldots,n}$, let's define the sums:
$$
S^+(X) = \sum_{i=1}^n \max\left(F(x_i) - F(x_{i-1}),0\right)
,\ \ \ \ \ \ \
S^-(X) = \sum_{i=1}^n \max\left(F(x_{i-1}) - F(x_i),0\right).
$$
Those are just the sums present in definitions of $F^+$ and $F^-$, this will make notation easier. We can see that we have $F^+(x)=\sup_X S^+(X)$ and $F^-(x)=\sup_X S^-(X)$. By definition of the supremum, we also have for any partition $X$, $S^+(X) \leq F^+(x)$ and $S^-(X) \leq F^-(x)$.
Now here's an important property that might not be obvious at first: let $X'$ be a refinement of another partition $X$. Then $S^+(X)\leq S^+(X')$ and $S^-(X)\leq S^-(X')$.
To see that this is true, consider a partition $X=(x_i)_{i=0,\ldots,n}$, and for some $i$, insert an element $x_{i-1/2}$ between $x_{i-1}$ and $x_i$. Then:
\begin{align*}
\max\left(F(x_i) - F(x_{i-1}),0\right)
&= \max\left(F(x_i) - F(x_{i-1/2}) + F(x_{i-1/2}) - F(x_{i-1}),0\right)
\\
&\leq \max\left(F(x_i) - F(x_{i-1/2}),0\right) + \max\left(F(x_{i-1/2}) - F(x_{i-1}),0\right).
\end{align*}
Similarly, inserting an element less than $x_0$ or greater than $x_n$ just adds a non-negative term to the sum, so by recursion we get $S^+(X)\leq S^+(X')$ for any refinement $X'$ of $X$ (we can use the same arguments for $S^-$).
$ $
Now, on to the main proof. Let's fix some $\varepsilon>0$. By definition of the supremum, we know there exist partitions $X^+$ and $X^-$ such that:
$$
0 \leq F^+(x) - S^+(X^+) < \varepsilon,
\ \ \ \ \ \ \ \
0 \leq F^-(x) - S^-(X^-) < \varepsilon.
$$
We can also choose some $\bar{x}\in\mathbb{R}$ far enough to the left so that $|F(-\infty)-F(\bar{x})|<\varepsilon$.
Now let's define a new partition $X=(x_i)_{i=0,\ldots,n}$ that's made up of every element of $X^+$, every element of $X^-$, $\bar{x}$, and $x$. $X$ is a refinement of $X^+$ and $X^-$, so based on what we've shown before:
$$
S^+(X^+) \leq S^+(X) \leq F^+(x),
\ \ \ \ \ \ \ \
S^-(X^-) \leq S^-(X) \leq F^-(x),
$$
which gives us:
$$
0 \leq F^+(x) - S^+(X) < \varepsilon,
\ \ \ \ \ \ \ \
0 \leq F^-(x) - S^-(X) < \varepsilon.
$$
Since every element of $X$ is less than $x$ and we've included $x$, we have $x_n=x$. Moreover, we can assume to have chosen $\bar{x}$ far enough to the left so that $x_0=\bar{x}$.
Now that we've set everything up, we can write:
\begin{align*}
|F(x) - F(-\infty) - F^+(x) + F^-(x)|
&\leq |F(x)-F(-\infty) - S^+(X) + S^-(X)| + |S^+(X)-F^+(x)| + |S^-(X)-F^-(x)|
\\
&\leq |F(x)-F(-\infty) - S^-(X) + S^-(X)| + 2\varepsilon.
\end{align*}
We can see that we have:
$$
S^+(X) - S^-(X) = \sum_{i=1}^n F(x_i)-F(x_{i-1}) = F(x_n) - F(x_0) = F(x) - F(\bar{x}),
$$
and so:
$$
|F(x)-F(-\infty) - S^+(X) + S^-(X)| = |F(-\infty)-F(\bar{x})| < \varepsilon,
$$
finally giving us:
$$
|F(x) - F(-\infty) - F^+(x) + F^-(x)| < 3\varepsilon.
$$
This is true for every $\varepsilon>0$ and for every $x\in\mathbb{R}$, and so we have $F(x) = F(-\infty) + F^+(x) - F^-(x)$.