You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: cypher.rb
    path of file: ./repos/rouge/lib/rouge/lexers
    
    the code of the file until where you have to start completion: # -*- coding: utf-8 -*- #
# frozen_string_literal: true

module Rouge
  module Lexers
    class Cypher < RegexLexer
      tag 'cypher'
      aliases 'cypher'
      filenames '*.cypher'
      mimetypes 'application/x-cypher-query'

      title "Cypher"
      desc 'The Cypher query language (neo4j.com/docs/cypher-manual)'

      def self.functions
        @functions ||= Set.new %w(
          ABS ACOS ALLSHORTESTPATHS ASIN ATAN ATAN2 AVG CEIL COALESCE COLLECT
          COS COT COUNT DATE DEGREES E ENDNODE EXP EXT
    
      def self.functions
        @functions ||= Set.new %w(
          ABS ACOS ALLSHORTESTPATHS ASIN ATAN ATAN2 AVG CEIL COALESCE COLLECT
          COS COT COUNT DATE DEGREES E ENDNODE EXP EXTRACT FILTER FLOOR
          HAVERSIN HEAD ID KEYS LABELS LAST LEFT LENGTH LOG LOG10 LOWER LTRIM
          MAX MIN NODE NODES PERCENTILECONT PERCENTILEDISC PI RADIANS RAND
          RANGE REDUCE REL RELATIONSHIP RELATIONSHIPS REPLACE REVERSE RIGHT
          ROUND RTRIM SHORTESTPATH SIGN SIN SIZE SPLIT SQRT STARTNODE STDEV
          STDEVP STR SUBSTRING SUM TAIL TAN TIMESTAMP TOFLOAT TOINT TOINTEGER
          TOSTRING TRIM TYPE UPPER
        )
      end