def copy_data(bfr, label, index, copy_format=None): """Copy data to clipboard from buffer.""" line = bfr[index] if line.startswith(label + ':'): text = line.replace(label + ':', '', 1).strip() if copy_format is not None: text = copy_format(text) sublime.set_clipboard(text) notify("Copied: %s" % label)
def on_navigate(self, href): """Exceute link callback.""" params = href.split(':') key = params[0] index = int(params[1]) if len(params) > 1 else None if key == 'reload': mdpopups.hide_popup(self.view) reinit_plugin() self.view.run_command('get_selection_scope') if key == 'copy-all': sublime.set_clipboard('\n'.join(self.scope_bfr)) notify('Copied: All') elif key == 'copy-scope': copy_data( self.scope_bfr, SCOPE_KEY, index, lambda x: x.replace('\n' + ' ' * 31, ' ') ) elif key == 'copy-points': copy_data(self.scope_bfr, PTS_KEY, index) elif key == 'copy-line-char': copy_data(self.scope_bfr, CHAR_LINE_KEY, index) elif key == 'copy-fg': copy_data(self.scope_bfr, FG_KEY, index) elif key == 'copy-fg-sim': copy_data(self.scope_bfr, FG_SIM_KEY, index) elif key == 'copy-fg-hash': copy_data(self.scope_bfr, HASHED_FG_KEY, index) elif key == 'copy-fg-hash-sim': copy_data(self.scope_bfr, HASHED_FG_SIM_KEY, index) elif key == 'copy-bg': copy_data(self.scope_bfr, BG_KEY, index) elif key == 'copy-bg-sim': copy_data(self.scope_bfr, BG_SIM_KEY, index) elif key == 'copy-style': copy_data(self.scope_bfr, STYLE_KEY, index) elif key == 'copy-fg-sel-name': copy_data(self.scope_bfr, FG_NAME_KEY, index) elif key == 'copy-fg-sel-scope': copy_data(self.scope_bfr, FG_SCOPE_KEY, index) elif key == 'copy-fg-hash-sel-name': copy_data(self.scope_bfr, HASHED_FG_NAME_KEY, index) elif key == 'copy-fg-hash-sel-scope': copy_data(self.scope_bfr, HASHED_FG_SCOPE_KEY, index) elif key == 'copy-bg-sel-name': copy_data(self.scope_bfr, BG_NAME_KEY, index) elif key == 'copy-bg-sel-scope': copy_data(self.scope_bfr, BG_SCOPE_KEY, index) elif key == 'copy-bold-sel-name': copy_data(self.scope_bfr, BOLD_NAME_KEY, index) elif key == 'copy-bold-sel-scope': copy_data(self.scope_bfr, BOLD_SCOPE_KEY, index) elif key == 'copy-italic-sel-name': copy_data(self.scope_bfr, ITALIC_NAME_KEY, index) elif key == 'copy-italic-sel-scope': copy_data(self.scope_bfr, ITALIC_SCOPE_KEY, index) elif key == 'copy-underline-sel-name': copy_data(self.scope_bfr, UNDERLINE_NAME_KEY, index) elif key == 'copy-underline-sel-scope': copy_data(self.scope_bfr, UNDERLINE_SCOPE_KEY, index) elif key == 'copy-glow-sel-name': copy_data(self.scope_bfr, GLOW_NAME_KEY, index) elif key == 'copy-glow-sel-scope': copy_data(self.scope_bfr, GLOW_SCOPE_KEY, index) elif key == 'copy-scheme': copy_data(self.scope_bfr, SCHEME_KEY, index) elif key == 'copy-syntax': copy_data(self.scope_bfr, SYNTAX_KEY, index) elif key == 'copy-overrides': copy_data(self.scope_bfr, OVERRIDE_SCHEME_KEY, index, lambda text: self.overrides[int(params[2]) - 1]) elif key == 'scheme' and self.scheme_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.scheme_file.replace( '\\', '/' ).replace('Packages/', '', 1) } ) elif key == 'syntax' and self.syntax_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.syntax_file.replace( '\\', '/' ).replace('Packages/', '', 1) } ) elif key == 'override': window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.overrides[int(params[2]) - 1].replace('Packages/', '', 1) } )
def on_navigate(self, href): """Exceute link callback.""" params = href.split(':') key = params[0] index = int(params[1]) if len(params) > 1 else None if key == 'copy-all': sublime.set_clipboard('\n'.join(self.scope_bfr)) notify('Copied: All') elif key == 'copy-scope': copy_data( self.scope_bfr, SCOPE_KEY, index, lambda x: x.replace('\n' + ' ' * 31, ' ') ) elif key == 'copy-points': copy_data(self.scope_bfr, PTS_KEY, index) elif key == 'copy-line-char': copy_data(self.scope_bfr, CHAR_LINE_KEY, index) elif key == 'copy-fg': copy_data(self.scope_bfr, FG_KEY, index) elif key == 'copy-fg-sim': copy_data(self.scope_bfr, FG_SIM_KEY, index) elif key == 'copy-bg': copy_data(self.scope_bfr, BG_KEY, index) elif key == 'copy-bg-sim': copy_data(self.scope_bfr, BG_SIM_KEY, index) elif key == 'copy-style': copy_data(self.scope_bfr, STYLE_KEY, index) elif key == 'copy-fg-sel-name': copy_data(self.scope_bfr, FG_NAME_KEY, index) elif key == 'copy-fg-sel-scope': copy_data(self.scope_bfr, FG_SCOPE_KEY, index) elif key == 'copy-bg-sel-name': copy_data(self.scope_bfr, BG_NAME_KEY, index) elif key == 'copy-bg-sel-scope': copy_data(self.scope_bfr, BG_SCOPE_KEY, index) elif key == 'copy-bold-sel-name': copy_data(self.scope_bfr, BOLD_NAME_KEY, index) elif key == 'copy-bold-sel-scope': copy_data(self.scope_bfr, BOLD_SCOPE_KEY, index) elif key == 'copy-italic-sel-name': copy_data(self.scope_bfr, ITALIC_NAME_KEY, index) elif key == 'copy-italic-sel-scope': copy_data(self.scope_bfr, ITALIC_SCOPE_KEY, index) elif key == 'copy-scheme': copy_data(self.scope_bfr, SCHEME_KEY, index) elif key == 'copy-syntax': copy_data(self.scope_bfr, SYNTAX_KEY, index) elif key == 'scheme' and self.scheme_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.scheme_file.replace( '\\', '/' ).replace('Packages/', '', 1) } ) elif key == 'syntax' and self.syntax_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.syntax_file.replace( '\\', '/' ).replace('Packages/', '', 1) } )
def on_navigate(self, href): """Exceute link callback.""" params = href.split(':') key = params[0] index = int(params[1]) if len(params) > 1 else None if key == 'copy-all': sublime.set_clipboard('\n'.join(self.scope_bfr)) notify('Copied: All') elif key == 'copy-scope': copy_data( self.scope_bfr, SCOPE_KEY, index, lambda x: x.replace('\n' + ' ' * 31, ' ') ) elif key == 'copy-points': copy_data(self.scope_bfr, 'Scope Extents (Pts)', index) elif key == 'copy-line-char': copy_data(self.scope_bfr, 'Scope Extents (Line/Char)', index) elif key == 'copy-fg': copy_data(self.scope_bfr, 'Fg', index) elif key == 'copy-fg-sim': copy_data(self.scope_bfr, 'Fg (Simulated Alpha)', index) elif key == 'copy-bg': copy_data(self.scope_bfr, 'Bg', index) elif key == 'copy-bg-sim': copy_data(self.scope_bfr, 'Bg (Simulated Alpha)', index) elif key == 'copy-style': copy_data(self.scope_bfr, 'Style', index) elif key == 'copy-fg-sel-name': copy_data(self.scope_bfr, 'Fg Name', index) elif key == 'copy-fg-sel-scope': copy_data(self.scope_bfr, 'Fg Scope', index) elif key == 'copy-bg-sel-name': copy_data(self.scope_bfr, 'Bg Name', index) elif key == 'copy-bg-sel-scope': copy_data(self.scope_bfr, 'Bg Scope', index) elif key == 'copy-bold-sel-name': copy_data(self.scope_bfr, 'Bold Name', index) elif key == 'copy-bold-sel-scope': copy_data(self.scope_bfr, 'Bold Scope', index) elif key == 'copy-italic-sel-name': copy_data(self.scope_bfr, 'Italic Name', index) elif key == 'copy-italic-sel-scope': copy_data(self.scope_bfr, 'Italic Scope', index) elif key == 'copy-scheme': copy_data(self.scope_bfr, 'Scheme File', index) elif key == 'copy-syntax': copy_data(self.scope_bfr, 'Syntax File', index) elif key == 'scheme' and self.scheme_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.scheme_file.replace( '\\', '/' ).replace('Packages/', '', 1) } ) elif key == 'syntax' and self.syntax_file is not None: window = self.view.window() window.run_command( 'open_file', { "file": "${packages}/%s" % self.syntax_file.replace( '\\', '/' ).replace('Packages/', '', 1) } )