'package' Keyword.Namespace ' ' Text.Whitespace 'Sorting' Name.Other ' ' Text.Whitespace 'api' Keyword.Namespace ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'fn' Keyword.Declaration ' ' Text.Whitespace 'Partition' Name.Other '[' Punctuation 'T' Name.Other ':' Punctuation ' ' Text.Whitespace '!' Punctuation 'Comparable' Name.Other ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace 'Movable' Name.Other ']' Punctuation '(' Punctuation 's' Name.Other ' ' Text.Whitespace ':' Punctuation ' ' Text.Whitespace 'Slice' Name.Other '(' Punctuation 'T' Name.Other ')' Punctuation ')' Punctuation ' ' Text.Whitespace '->' Operator ' ' Text.Whitespace 'i64' Keyword.Type ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'i' Name.Other ':' Punctuation ' ' Text.Whitespace 'i64' Keyword.Type ' ' Text.Whitespace '=' Punctuation ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'e' Name.Other ':' Punctuation ' ' Text.Whitespace 'T' Name.Other ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 's' Name.Other ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '++' Operator 'i' Name.Other ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'Swap' Name.Other '(' Punctuation '&' Operator 's' Name.Other '[' Punctuation 'i' Name.Other ']' Punctuation ',' Punctuation ' ' Text.Whitespace '&' Operator 'e' Name.Other ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name.Other ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'fn' Keyword.Declaration ' ' Text.Whitespace 'QuickSort' Name.Other '[' Punctuation 'T' Name.Other ':' Punctuation ' ' Text.Whitespace '!' Punctuation 'Comparable' Name.Other ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace 'Movable' Name.Other ']' Punctuation '(' Punctuation 's' Name.Other ' ' Text.Whitespace ':' Punctuation ' ' Text.Whitespace 'Slice' Name.Other '(' Punctuation 'T' Name.Other ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name.Other '.' Punctuation 'Size' Name.Other '(' Punctuation ')' Punctuation ' ' Text.Whitespace '<=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'let' Keyword.Declaration ' ' Text.Whitespace 'p' Name.Other ':' Punctuation ' ' Text.Whitespace 'i64' Keyword.Type ' ' Text.Whitespace '=' Punctuation ' ' Text.Whitespace 'Partition' Name.Other '(' Punctuation 's' Name.Other ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'QuickSort' Name.Other '(' Punctuation 's' Name.Other '[' Punctuation ':' Punctuation 'p' Name.Other ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'QuickSort' Name.Other '(' Punctuation 's' Name.Other '[' Punctuation 'p' Name.Other ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ':' Punctuation ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace