示例#1
0
    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
示例#2
0
文件: view.py 项目: szwsuny/defx.nvim
    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
示例#3
0
    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
示例#4
0
    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