def init_columns(self) -> None: # Initialize columns self._columns: typing.List[Column] = [] self._all_columns: typing.Dict[str, Column] = {} for path_column in self.load_custom_columns(): column = import_plugin(path_column, 'column', 'Column') if not column: continue column = column(self._vim) if column.name not in self._all_columns: self._all_columns[column.name] = column self._columns = [ self._all_columns[x] for x in self._context.columns.split(':') if x in self._all_columns ] start = 1 for column in self._columns: column.on_init(self._context) column.start = start length = column.length(self._context) column.end = start + length - 1 column.syntax_name = 'Defx_' + column.name start += length
def _init_all_columns(self) -> None: self._all_columns: typing.Dict[str, Column] = {} for path_column in self._load_custom_columns(): column = import_plugin(path_column, 'column', 'Column') if not column: continue column = column(self._vim) if column.name not in self._all_columns: self._all_columns[column.name] = column
def _init_all_sources(self) -> None: from defx.base.source import Base as Source self._all_sources: typing.Dict[str, Source] = {} for path_source in self._load_custom_sources(): source = import_plugin(path_source, 'source', 'Source') if not source: continue source = source(self._vim) if source.name not in self._all_sources: self._all_sources[source.name] = source
def init_columns(self, columns: typing.List[str]) -> None: # Initialize columns self._columns: typing.List[Column] = [] self._all_columns: typing.Dict[str, Column] = {} for path_column in self.load_custom_columns(): column = import_plugin(path_column, 'column', 'Column') if not column: continue column = column(self._vim) if column.name not in self._all_columns: self._all_columns[column.name] = column custom = self._vim.call('defx#custom#_get')['column'] self._columns = [ self._all_columns[x] for x in columns if x in self._all_columns ] for column in self._columns: if column.name in custom: column.vars.update(custom[column.name]) column.on_init(self._context) column.syntax_name = 'Defx_' + column.name