% Decent marging...
\usepackage[cm]{fullpage}

% Indentation for all paragraph (even the first one) + ventilate
\usepackage{indentfirst}
\setlength{\parskip}{6pt plus 2pt minus 1pt}

% Avoid vertical space before/after itemize
\usepackage{enumitem}
\setlist{nosep}

% Use sans-serif font for section' titles
\usepackage{sectsty}
\allsectionsfont{\sffamily \bfseries}

% Use monospaced font for URLs
\usepackage{hyperref}
\urlstyle{tt}

% In french, list item starts with dash, not bullet
\renewcommand\labelitemi{---}

\lstset{
  belowcaptionskip=1\baselineskip,
  xleftmargin=6pt,
  xrightmargin=0.25pt,
  backgroundcolor=\color{lightgray!20!white},
  basicstyle=\ttfamily,
  breakatwhitespace=false,
  breaklines=true,
  commentstyle=\color{SeaGreen},
  columns=fullflexible,
  deletekeywords={echo}{source},
  extendedchars=true,
  frame=l,
  framerule=1.2pt,
  framesep=5pt,
  keepspaces=true,
  keywordstyle=\color{blue},
  rulecolor=\color{black},
  showspaces=false,
  showstringspaces=false,
  showtabs=false,
  stringstyle=\color{purple},
  tabsize=4
}

\makeatletter
\pretocmd{\subsection}{\addtocontents{toc}{\protect\addvspace{-5\p@}}}{}{}
\pretocmd{\subsubsection}{\addtocontents{toc}{\protect\addvspace{-6\p@}}}{}{}
\makeatother
