(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _xhost body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$cur')} arms: [ (case_arm pat_list: [{<Id.Lit_Other '+'> <Id.Lit_Star '*'>}] action: [ (C {<_known_hosts_real>} {<-p> <Id.Lit_Other '+'>} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 1>}) ) ) } ) ] spids: [38 40 55 -1] ) (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] action: [ (C {<_known_hosts_real>} {<-p->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 1>}) ) ) } ) ] spids: [58 60 74 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))})] spids: [77 78 86 -1] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_xhost>} {<xhost>}) ] )