MCPcopy Create free account
hub / github.com/dbcli/mssql-cli / _arg_list

Method _arg_list

mssqlcli/mssqlcompleter.py:719–746  ·  view source on GitHub ↗

Returns a an arg list string, e.g. `(_foo:=23)` for a func. :param func is a FunctionMetadata object :param usage is 'call', 'call_display' or 'signature'

(self, func, usage)

Source from the content-addressed store, hash-verified

717 )
718
719 def _arg_list(self, func, usage):
720 """Returns a an arg list string, e.g. `(_foo:=23)` for a func.
721
722 :param func is a FunctionMetadata object
723 :param usage is 'call', 'call_display' or 'signature'
724
725 """
726 template = {
727 'call': self.call_arg_style,
728 'call_display': self.call_arg_display_style,
729 'signature': self.signature_arg_style
730 }[usage]
731 args = func.args()
732 if not template:
733 return '()'
734 if usage == 'call' and len(args) < 2:
735 return '()'
736 if usage == 'call' and func.has_variadic():
737 return '()'
738 multiline = usage == 'call' and len(args) > self.call_arg_oneliner_max
739 max_arg_len = max(len(a.name) for a in args) if multiline else 0
740 args = (
741 self._format_arg(template, arg, arg_num + 1, max_arg_len)
742 for arg_num, arg in enumerate(args)
743 )
744 if multiline:
745 return '(' + ','.join('\n ' + a for a in args if a) + '\n)'
746 return '(' + ', '.join(a for a in args if a) + ')'
747
748 def _format_arg(self, template, arg, arg_num, max_arg_len):
749 if not template:

Callers 1

Calls 3

_format_argMethod · 0.95
argsMethod · 0.80
has_variadicMethod · 0.80

Tested by

no test coverage detected