MCPcopy Index your code
hub / github.com/dbcli/pgcli / get_completer

Method get_completer

tests/metadata.py:167–209  ·  view source on GitHub ↗
(self, settings=None, casing=None)

Source from the content-addressed store, hash-verified

165 return (sch, tbl, col, "text", (tbl, col) in defaults, defaults.get((tbl, col)))
166
167 def get_completer(self, settings=None, casing=None):
168 metadata = self.metadata
169 from pgcli.pgcompleter import PGCompleter
170 from pgspecial import PGSpecial
171
172 comp = PGCompleter(smart_completion=True, settings=settings, pgspecial=PGSpecial())
173
174 schemata, tables, tbl_cols, views, view_cols = [], [], [], [], []
175
176 for sch, tbls in metadata["tables"].items():
177 schemata.append(sch)
178
179 for tbl, cols in tbls.items():
180 tables.append((sch, tbl))
181 # Let all columns be text columns
182 tbl_cols.extend([self._make_col(sch, tbl, col) for col in cols])
183
184 for sch, tbls in metadata.get("views", {}).items():
185 for tbl, cols in tbls.items():
186 views.append((sch, tbl))
187 # Let all columns be text columns
188 view_cols.extend([self._make_col(sch, tbl, col) for col in cols])
189
190 functions = [
191 FunctionMetadata(sch, *func_meta, arg_defaults=None) for sch, funcs in metadata["functions"].items() for func_meta in funcs
192 ]
193
194 datatypes = [(sch, typ) for sch, datatypes in metadata["datatypes"].items() for typ in datatypes]
195
196 foreignkeys = [ForeignKey(*fk) for fks in metadata["foreignkeys"].values() for fk in fks]
197
198 comp.extend_schemata(schemata)
199 comp.extend_relations(tables, kind="tables")
200 comp.extend_relations(views, kind="views")
201 comp.extend_columns(tbl_cols, kind="tables")
202 comp.extend_columns(view_cols, kind="views")
203 comp.extend_functions(functions)
204 comp.extend_datatypes(datatypes)
205 comp.extend_foreignkeys(foreignkeys)
206 comp.set_search_path(["public"])
207 comp.extend_casing(casing or [])
208
209 return comp

Callers 2

completerMethod · 0.95

Calls 11

_make_colMethod · 0.95
extend_schemataMethod · 0.95
extend_relationsMethod · 0.95
extend_columnsMethod · 0.95
extend_functionsMethod · 0.95
extend_datatypesMethod · 0.95
extend_foreignkeysMethod · 0.95
set_search_pathMethod · 0.95
extend_casingMethod · 0.95
PGCompleterClass · 0.90
FunctionMetadataClass · 0.90

Tested by 1