         suggestions:
             stream: [
                 {
-                    suggestion: 'get('
+                    suggestion: 'get()'
                     description: 'get( id )'
-                }
-                {
-                    suggestion: 'filter('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'filter()'
                     description: 'filter( predicate )'
+                    has_argument: true
                 }
                 {
                     suggestion: 'length()'
                     description: 'length()'
-                }
-                {
-                    suggestion: 'map('
+                    has_argument: false
+                }
+                {
+                    suggestion: 'map()'
                     description: 'map( attribute )'
-                }
-                {
-                    suggestion: 'slice'
+                    has_argument: true
+                }
+                {
+                    suggestion: 'slice()'
                     description: 'slice( start, end )'
-                }
-                {
-                    suggestion: 'orderby('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'orderby()'
                     description: 'orderby( expression )'
-                }
-                {
-                    suggestion: 'distinct'
+                    has_argument: true
+                }
+                {
+                    suggestion: 'distinct()'
                     description: 'distinct( expression )'
-                }
-                {
-                    suggestion: 'reduce('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'reduce()'
                     description: 'reduce( expression )'
-                }
-                {
-                    suggestion: 'pluck('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'pluck()'
                     description: 'pluck( expression )'
-                }
-                {
-                    suggestion: 'extend('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'extend()'
                     description: 'extend( expression )'
+                    has_argument: true
                 }
             ]
             view:[
                 {
-                    suggestion: 'pluck('
+                    suggestion: 'pluck()'
                     description: 'pluck( expression )'
+                    has_argument: true
                 }
             ]
             db:[
                 {
-                    suggestion: 'table('
+                    suggestion: 'table()'
                     description: 'table( table_name )'
+                    has_argument: true
                 }
                 {
                     suggestion: 'list()'
                     description: 'list()'
-                }
-                {
-                    suggestion: 'create'
+                    has_argument: false
+                }
+                {
+                    suggestion: 'create()'
                     description: 'create( database_name, primary_datacenter_id )'
+                    has_argument: true
                 }
                 {
                     suggestion: 'drop()'
                     description: 'drop()'
+                    has_argument: false
                 }
             ]
             table:[
                 {
-                    suggestion: 'insert('
+                    suggestion: 'insert()'
                     description: 'insert( document )'
+                    has_argument: true
                 }
                 
             ]
             r:[
                 {
-                    suggestion: 'dbCreate('
+                    suggestion: 'dbCreate()'
                     description: 'dbCreate( database_name, primary_datacenter )'
-                }
-                {
-                    suggestion: 'dbDrop('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'dbDrop()'
                     description: 'dbDrop( database_name )'
+                    has_argument: true
                 }
                 {
                     suggestion: 'dbList()'
                     description: 'dbList()'
-                }
-                {
-                    suggestion: 'expr('
+                    has_argument: false
+                }
+                {
+                    suggestion: 'expr()'
                     description:'expr( expression )'
-                }
-                {
-                    suggestion: 'fn('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'fn()'
                     description: 'fn( argument..., body )'
-                }
-                {
-                    suggestion: 'ifThenElse('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'ifThenElse()'
                     description: 'ifThenElse( expression, callback_true, callback_false)'
-                }
-                {
-                    suggestion: 'let('
+                    has_argument: true
+                }
+                {
+                    suggestion: 'let()'
                     description: 'let( arguments..., body)'
+                    has_argument: true
                 }
 
             ]

                {
                    suggestion: 'r'
                    description : 'The main ReQL namespace'
                }
                {
                    suggestion: 'r('
                    description : 'Variable'
                }

                {
                    suggestion: 'R('
                    description : 'Attribute Selector'
                }
            ]
            expr: [
                {
                    suggestion: 'add('
                    description: 'add( expression )'
                }
                {
                    suggestion: 'sub('
                    description: 'sub( expression )'
                }
                {
                    suggestion: 'mul('
                    description: 'mul( expression )'
                }
                {
                    suggestion: 'div('
                    description: 'div( expression )'
                }
                {
                    suggestion: 'mod('
                    description: 'mod( expression )'
                }
                {
                    suggestion: 'eq('
                    description: 'eq( expression )'
                }
                {
                    suggestion: 'ne('
                    description: 'ne( expression )'
                }
                {
                    suggestion: 'lt('
                    description: 'lt( expression )'
                }
                {
                    suggestion: 'le('
                    description: 'le( expression )'
                }
                {
                    suggestion: 'gt('
                    description: 'gt( expression )'
                }
                {
                    suggestion: 'ge('
                    description: 'ge( expression )'
                }
                {
                    suggestion: 'not('
                    description: 'not( expression )'
                }
                {
                    suggestion: 'and('
                    description: 'and( expression )'
                }
                {
                    suggestion: 'or('
                    description: 'or( expression )'
                }

            ]

                start_line_index = 0
            else
                start_line_index += 1
            
            ch = (@query_first_part + @current_completed_query + suggestion_to_write).length - start_line_index
            if event.target.dataset.has_argument is true
                ch--

            @cursor =
                line: saved_cursor.line
                ch: ch

            setTimeout @position_cursor_after_click, 1 # Ugliest hack ever.

