Ejemplo n.º 1
0
    def run(self, edit):
        selections = list(self.view.sel())

        if not self.is_infos_valid(selections):
            self.Infos = [ExpandSelectionInfo(self.view, s) for s in selections]

        if not self.is_infos_valid(selections):
            show_status_message('Unable to retrieve expand selection info', False)
            return

        tr = [i.expand() for i in self.Infos]
        self.view.sel().clear()
        self.view.sel().add_all([t.region for t in tr])

        output_panel(self.view.window(), '\n'.join([t.typename for t in tr]), panel_name = 'sublime_haskell_expand_selection_expression', syntax = 'Haskell-SublimeHaskell')
Ejemplo n.º 2
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        types = sorted(list(
            filter(lambda t: t.region(self.view).contains(self.view.sel()[0]),
                   types)),
                       key=lambda t: t.region(self.view).size())
        self.output_view = output_panel(self.view.window(),
                                        '',
                                        panel_name=TYPES_PANEL_NAME,
                                        syntax='Haskell-SublimeHaskell',
                                        show_panel=False)

        regions = []
        for t in types:
            output_text(self.output_view,
                        '{0}\n'.format(t.show(self.view)),
                        clear=False)
            regions.append(
                sublime.Region(
                    self.output_view.size() - 1 -
                    len(use_unicode_operators(t.typename)),
                    self.output_view.size() - 1))
        self.output_view.add_regions('types', regions, 'comment', '',
                                     sublime.DRAW_OUTLINED)
        show_panel(self.view.window(), panel_name=TYPES_PANEL_NAME)
Ejemplo n.º 3
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        self.types = types
        self.output_view = output_panel(self.view.window(), '', panel_name = 'sublime_haskell_show_type', syntax = 'Haskell-SublimeHaskell')
        self.view.window().show_quick_panel([t.typename for t in self.types], self.on_done, 0, -1, self.on_changed)
Ejemplo n.º 4
0
    def run(self, edit):
        selections = list(self.view.sel())

        if not self.is_infos_valid(selections):
            self.Infos = [
                ExpandSelectionInfo(self.view, s) for s in selections
            ]

        if not self.is_infos_valid(selections):
            show_status_message('Unable to retrieve expand selection info',
                                False)
            return

        tr = [i.expand() for i in self.Infos]
        self.view.sel().clear()
        self.view.sel().add_all([t.region for t in tr])

        output_panel(self.view.window(),
                     '\n'.join([t.typename for t in tr]),
                     panel_name='sublime_haskell_expand_selection_expression',
                     syntax='Haskell-SublimeHaskell')
Ejemplo n.º 5
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        self.types = types
        self.output_view = output_panel(self.view.window(), '', panel_name = 'sublime_haskell_show_types', syntax = 'Haskell-SublimeHaskell', show_panel = False)
        regions = []
        for t in self.types:
            output_text(self.output_view, '{0}\n'.format(t.show(self.view)), clear = False)
            regions.append(sublime.Region(self.output_view.size() - 1 - len(t.typename), self.output_view.size() - 1))
        self.output_view.add_regions('types', regions, 'comment', '', sublime.DRAW_OUTLINED)
        show_panel(self.view.window(), panel_name = 'sublime_haskell_show_type')
Ejemplo n.º 6
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        self.types = types
        self.output_view = output_panel(self.view.window(),
                                        '',
                                        panel_name=TYPES_PANEL_NAME,
                                        syntax='Haskell-SublimeHaskell')
        self.view.window().show_quick_panel([t.typename for t in self.types],
                                            self.on_done, 0, -1,
                                            self.on_changed)
Ejemplo n.º 7
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        types = sorted(
            list(filter(lambda t: t.region(self.view).contains(self.view.sel()[0]), types)),
            key = lambda t: t.region(self.view).size())
        self.output_view = output_panel(self.view.window(), '', panel_name = TYPES_PANEL_NAME, syntax = 'Haskell-SublimeHaskell', show_panel = False)

        regions = []
        for t in types:
            output_text(self.output_view, '{0}\n'.format(t.show(self.view)), clear = False)
            regions.append(sublime.Region(self.output_view.size() - 1 - len(t.typename), self.output_view.size() - 1))
        self.output_view.add_regions('types', regions, 'comment', '', sublime.DRAW_OUTLINED)
        show_panel(self.view.window(), panel_name = TYPES_PANEL_NAME)
Ejemplo n.º 8
0
    def show_types(self, types):
        if not types:
            show_status_message("Can't infer type", False)
            return

        self.types = types
        self.output_view = output_panel(
            self.view.window(),
            '',
            panel_name='sublime_haskell_show_types',
            syntax='Haskell-SublimeHaskell',
            show_panel=False)
        regions = []
        for t in self.types:
            output_text(self.output_view,
                        '{0}\n'.format(t.show(self.view)),
                        clear=False)
            regions.append(
                sublime.Region(self.output_view.size() - 1 - len(t.typename),
                               self.output_view.size() - 1))
        self.output_view.add_regions('types', regions, 'comment', '',
                                     sublime.DRAW_OUTLINED)
        show_panel(self.view.window(), panel_name='sublime_haskell_show_type')