예제 #1
0
def set_view(view_id, window, ignore_existing, path, single_pane):
    view = None
    if view_id:
        # The Goto command was used so the view is already known and its contents should be
        # replaced with the new path.
        view = first(window.views(), lambda v: v.id() == view_id)

    if not view and not ignore_existing:
        # See if a view for this path already exists.
        same_path = lambda v: v.settings().get('dired_path') == path
        # See if any reusable view exists in case of single_pane argument
        any_path = lambda v: v.score_selector(0, "text.dired") > 0
        view = first(window.views(), any_path if single_pane else same_path)

    if not view:
        view = window.new_file()
        view.settings().add_on_change('color_scheme',
                                      lambda: set_proper_scheme(view))
        view.set_syntax_file('Packages/FileBrowser/dired.hidden-tmLanguage')
        view.set_scratch(True)
        reset_sels = True
    else:
        reset_sels = path != view.settings().get('dired_path', '')

    return (view, reset_sels)
def set_view(view_id, window, ignore_existing, single_pane):
    view = None
    if view_id:
        # The Goto command was used so the view is already known and its contents should be
        # replaced with the new path.
        view = first(window.views(), lambda v: v.id() == view_id)

    if not view and not ignore_existing:
        # See if any reusable view exists in case of single_pane argument
        any_path = lambda v: v.score_selector(0, "text.outline") > 0
        view = first(window.views(), any_path if single_pane else same_path)

    if not view:
        view = window.new_file()
        view.settings().add_on_change('color_scheme',
                                      lambda: set_proper_scheme(view))
        view.set_syntax_file('Packages/Outline+/outline.hidden-tmLanguage')
        view.set_scratch(True)
        reset_sels = True
    # Adam: This is not a valid statement ('path is not defined')
    #       I assume 'path' was meant to point to the .path property of a'outlineBaseCommand' class
    #       in 'common.py' but this no longer looks used.
    #else:
    #    reset_sels = path != view.settings().get('outline_path', '')
    else:
        reset_sels = False

    return (view, reset_sels)
예제 #3
0
    def run(self, edit, goto='', to_expand=None, toggle=None, reset_sels=None):
        """
        goto
            Optional filename to put the cursor on; used only from "dired_up"

        to_expand
            List of relative paths for direcories which shall be expanded

        toggle
            If true, marked/selected directories shall switch state,
            i.e. expand/collapse

        reset_sels
            If True, previous selections & marks shan’t be restored
        """
        # after restart ST, callback seems to disappear, so reset callback on each refresh for more reliability
        self.view.settings().clear_on_change('color_scheme')
        self.view.settings().add_on_change(
            'color_scheme', lambda: set_proper_scheme(self.view))

        path = self.path
        names = []
        if path == 'ThisPC\\':
            path, names = '', self.get_disks()
        if path and not exists(path):
            if sublime.ok_cancel_dialog(
                    u'FileBrowser:\n\nDirectory does not exist:\n\n\t%s\n\nTry to go up?'
                    % path, u'Go'):
                self.view.run_command('dired_up')
            return

        emit_event(u'start_refresh', (self.view.id(), path), view=self.view)

        self.expanded = expanded = self.view.find_all(
            u'^\s*▾') if not reset_sels else []
        self.show_hidden = self.view.settings().get('dired_show_hidden_files',
                                                    True)
        self.goto = goto
        if os.sep in goto:
            to_expand = self.expand_goto(to_expand)

        self.number_line = 0
        if reset_sels and not to_expand:
            self.index, self.marked, self.sels = [], None, None
            self.populate_view(edit, path, names)
        else:
            if not reset_sels:
                self.index = self.get_all()
                self.marked = self.get_marked()
                self.sels = (self.get_selected(), list(self.view.sel()))
            else:
                self.marked, self.sels = None, None
            self.re_populate_view(edit, path, names, expanded, to_expand,
                                  toggle)
        emit_event(u'finish_refresh',
                   (self.view.id(), self.expanded + ([path] if path else [])),
                   view=self.view)
예제 #4
0
 def run(self, edit):
     view = self.view.window().new_file()
     view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(view))
     view.set_name("Browse: shortcuts")
     view.set_scratch(True)
     view.settings().set('rulers', [])
     view.settings().set('syntax', 'Packages/FileBrowser/dired-help.hidden-tmLanguage')
     view.settings().set('line_numbers', False)
     view.run_command('dired_show_help')
     sublime.active_window().focus_view(view)
예제 #5
0
    def run(self, edit, goto='', to_expand=None, toggle=None, reset_sels=None):
        """
        goto
            Optional filename to put the cursor on; used only from "dired_up"

        to_expand
            List of relative paths for direcories which shall be expanded

        toggle
            If true, marked/selected directories shall switch state,
            i.e. expand/collapse

        reset_sels
            If True, previous selections & marks shan’t be restored
        """
        # after restart ST, callback seems to disappear, so reset callback on each refresh for more reliability
        self.view.settings().clear_on_change('color_scheme')
        self.view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(self.view))

        path = self.path
        names = []
        if path == 'ThisPC\\':
            path, names = '', self.get_disks()
        if path and not exists(path):
            if sublime.ok_cancel_dialog(u'FileBrowser:\n\nDirectory does not exist:\n\n\t%s\n\nTry to go up?' % path, u'Go'):
                self.view.run_command('dired_up')
            return

        emit_event(u'start_refresh', (self.view.id(), path), view=self.view)

        self.expanded = expanded = self.view.find_all(u'^\s*▾') if not reset_sels else []
        self.show_hidden = self.view.settings().get('dired_show_hidden_files', True)
        self.goto = goto
        if os.sep in goto:
            to_expand = self.expand_goto(to_expand)

        self.number_line = 0
        if reset_sels and not to_expand:
            self.index, self.marked, self.sels = [], None, None
            self.populate_view(edit, path, names)
        else:
            if not reset_sels:
                self.index  = self.get_all()
                self.marked = self.get_marked()
                self.sels   = (self.get_selected(), list(self.view.sel()))
            else:
                self.marked, self.sels = None, None
            self.re_populate_view(edit, path, names, expanded, to_expand, toggle)
        emit_event(u'finish_refresh', (self.view.id(), self.expanded + ([path] if path else [])), view=self.view)
예제 #6
0
 def run(self, edit):
     view = self.view.window().new_file()
     view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(view))
     view.set_name("Browse: shortcuts")
     view.set_scratch(True)
     view.settings().set('rulers', [])
     view.settings().set('syntax', 'Packages/FileBrowser/dired-help.hidden-tmLanguage')
     view.settings().set('margin', 16)
     view.settings().set('line_numbers', False)
     view.settings().set('gutter', False)
     view.settings().set('fold_buttons', False)
     view.settings().set('draw_indent_guides', False)
     view.settings().set('word_wrap', False)
     view.settings().set('spell_check', False)
     view.settings().set('drag_text', False)
     view.run_command('dired_show_help')
     sublime.active_window().focus_view(view)
예제 #7
0
 def run(self, edit):
     view = self.view.window().new_file()
     view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(view))
     view.set_name("Browse: shortcuts")
     view.set_scratch(True)
     view.settings().set('rulers', [])
     view.settings().set('syntax', 'Packages/FileBrowser/dired-help' + SYNTAX_EXTENSION)
     view.settings().set('margin', 16)
     view.settings().set('line_numbers', False)
     view.settings().set('gutter', False)
     view.settings().set('fold_buttons', False)
     view.settings().set('draw_indent_guides', False)
     view.settings().set('word_wrap', False)
     view.settings().set('spell_check', False)
     view.settings().set('drag_text', False)
     view.run_command('dired_show_help')
     sublime.active_window().focus_view(view)
예제 #8
0
 def run(self, edit):
     view = self.view.window().new_file()
     view.settings().add_on_change("color_scheme", lambda: set_proper_scheme(view))
     view.set_name("Browse: shortcuts")
     view.set_scratch(True)
     view.settings().set("rulers", [])
     view.settings().set("syntax", "Packages/FileBrowser/dired-help.hidden-tmLanguage")
     view.settings().set("margin", 16)
     view.settings().set("line_numbers", False)
     view.settings().set("gutter", False)
     view.settings().set("fold_buttons", False)
     view.settings().set("draw_indent_guides", False)
     view.settings().set("word_wrap", False)
     view.settings().set("spell_check", False)
     view.settings().set("drag_text", False)
     view.run_command("dired_show_help")
     sublime.active_window().focus_view(view)
예제 #9
0
    def run(self, edit, goto='', to_expand=None, toggle=None, reset_sels=None):
        """
        goto
            Optional filename to put the cursor on; used only from "dired_up"

        to_expand
            List of relative paths for direcories which shall be expanded

        toggle
            If true, marked/selected directories shall switch state,
            i.e. expand/collapse

        reset_sels
            If True, previous selections & marks shan’t be restored
        """
        # after restart ST, callback seems to disappear, so reset callback on each refresh for more reliability
        self.view.settings().clear_on_change('color_scheme')
        self.view.settings().add_on_change(
            'color_scheme', lambda: set_proper_scheme(self.view))

        path = self.path
        expanded = self.view.find_all(u'^\s*▾') if not reset_sels else []
        names = []
        self.show_hidden = self.view.settings().get('dired_show_hidden_files',
                                                    True)
        self.goto = goto
        if path == 'ThisPC\\':
            path, names = '', self.get_disks()
        if os.sep in goto:
            to_expand = self.expand_goto(to_expand)

        self.number_line = 0
        if reset_sels and not to_expand:
            self.index, self.marked, self.sels = [], None, None
            self.populate_view(edit, path, names)
        else:
            if not reset_sels:
                self.index = self.get_all()
                self.marked = self.get_marked()
                self.sels = (self.get_selected(), list(self.view.sel()))
            else:
                self.marked, self.sels = None, None
            self.re_populate_view(edit, path, names, expanded, to_expand,
                                  toggle)
예제 #10
0
    def run(self, edit, goto='', to_expand=None, toggle=None, reset_sels=None):
        """
        goto
            Optional filename to put the cursor on; used only from "dired_up"

        to_expand
            List of relative paths for direcories which shall be expanded

        toggle
            If true, marked/selected directories shall switch state,
            i.e. expand/collapse

        reset_sels
            If True, previous selections & marks shan’t be restored
        """
        # after restart ST, callback seems to disappear, so reset callback on each refresh for more reliability
        self.view.settings().clear_on_change('color_scheme')
        self.view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(self.view))

        path = self.path
        expanded = self.view.find_all(u'^\s*▾') if not reset_sels else []
        names = []
        self.show_hidden = self.view.settings().get('dired_show_hidden_files', True)
        self.goto = goto
        if path == 'ThisPC\\':
            path, names = '', self.get_disks()
        if os.sep in goto:
            to_expand = self.expand_goto(to_expand)

        self.number_line = 0
        if reset_sels and not to_expand:
            self.index, self.marked, self.sels = [], None, None
            self.populate_view(edit, path, names)
        else:
            if not reset_sels:
                self.index  = self.get_all()
                self.marked = self.get_marked()
                self.sels   = (self.get_selected(), list(self.view.sel()))
            else:
                self.marked, self.sels = None, None
            self.re_populate_view(edit, path, names, expanded, to_expand, toggle)
예제 #11
0
def set_view(view_id, window, ignore_existing, path, single_pane):
    view = None
    if view_id:
        # The Goto command was used so the view is already known and its contents should be
        # replaced with the new path.
        view = first(window.views(), lambda v: v.id() == view_id)

    if not view and not ignore_existing:
        # See if a view for this path already exists.
        same_path = lambda v: v.settings().get('dired_path') == path
        # See if any reusable view exists in case of single_pane argument
        any_path = lambda v: v.score_selector(0, "text.dired") > 0
        view = first(window.views(), any_path if single_pane else same_path)

    if not view:
        view = window.new_file()
        view.settings().add_on_change('color_scheme', lambda: set_proper_scheme(view))
        view.set_syntax_file('Packages/FileBrowser/dired' + SYNTAX_EXTENSION)
        view.set_scratch(True)
        reset_sels = True
    else:
        reset_sels = path != view.settings().get('dired_path', '')

    return (view, reset_sels)