def jsfmt(self, data, scope): try: opt = json.dumps(settings.get('options')) optJSON = json.dumps(settings.get('options-JSON')) # grab the cwd if self.view.file_name(): cdir = dirname(self.view.file_name()) if settings.get('use-local-jsfmt', True): return node_bridge(data, BIN_PATH, cdir, [opt, scope, optJSON, cdir]) else: cdir = "/" return node_bridge(data, BIN_PATH, cdir, [opt, scope, optJSON]) except Exception as e: msg = "The formatting failed please check the console for more details." # Seach for the line number in case of a js error t = re.search('Error: Line [0-9]+: (.*)', str(e), flags=re.MULTILINE) if t: msg += '\n' + t.string[t.start():t.end()] if settings.get('alert-errors', True): sublime.error_message(msg) print('\n\nJSFMT ==>\n%s\n\n' % e)
def format(self, data): try: if 'file' in self.sublime_vars: return node_bridge(data, BIN_PATH, ['--stdin-filename', self.sublime_vars['file']]) else: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('Stylefmt\n%s' % e) raise
def format(self, data): try: if 'file' in self.sublime_vars: return node_bridge( data, BIN_PATH, ['--stdin-filename', self.sublime_vars['file']]) else: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('Stylefmt\n%s' % e) raise
def format(self, data): try: if 'file_path' in self.sublime_vars: return node_bridge(data, BIN_PATH, [ json.dumps({'file_path': self.sublime_vars['file_path']}) ]) else: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('Stylefmt\n%s' % e) raise
def format(self, data): try: if 'file_path' in self.sublime_vars: return node_bridge(data, BIN_PATH, [json.dumps({ 'file_path': self.sublime_vars['file_path'] })]) else: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('Stylefmt\n%s' % e) raise
def fix(self, data): try: return node_bridge( data, BIN_PATH, [json.dumps({'filepath': self.view.file_name()})]) except Exception as e: sublime.error_message('CSSfmt\n%s' % e)
def fix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'legacy': self.get_setting('legacy'), })]) except Exception as e: sublime.error_message('FixMyJS\n%s' % e)
def minify(self, data): try: return node_bridge( data, BIN_PATH, [json.dumps({'indent': get_setting(self.view, 'indent')})]) except Exception as e: sublime.error_message('svgo\n%s' % e)
def sorting(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'sort-order': self.get_setting('sort-order') })]) except Exception as e: sublime.error_message('PostCSS Sorting\n%s' % e)
def prefix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'browsers': get_setting(self.view, 'browsers'), 'cascade': get_setting(self.view, 'cascade') })]) except Exception as e: sublime.error_message('Autoprefixer\n%s' % e)
def fix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'legacy': get_setting(self.view, 'legacy'), 'filepath': self.view.file_name() })]) except Exception as e: sublime.error_message('FixMyJS\n%s' % e)
def fix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'legacy': self.get_setting('legacy'), 'filepath': self.view.file_name() })]) except Exception as e: sublime.error_message('FixMyJS\n%s' % e)
def sorting(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'sort-order': get_setting(self.view, 'sort-order'), 'empty-lines-between-children-rules': get_setting(self.view, 'empty-lines-between-children-rules'), 'empty-lines-between-media-rules': get_setting(self.view, 'empty-lines-between-media-rules'), 'preserve-empty-lines-between-children-rules': get_setting(self.view, 'preserve-empty-lines-between-children-rules') })]) except Exception as e: sublime.error_message('PostCSS Sorting\n%s' % e)
def beautify(self, data, action): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'format': action, 'indentSize': self.get_setting('indent_size'), 'cascade': self.get_setting('cascade'), 'maxAtRuleLength': self.get_setting('max_at_rule_length'), 'maxSelectorLength': self.get_setting('max_selector_length'), 'maxValueLength': self.get_setting('max_value_length') })]) except Exception as e: sublime.error_message('Perfectionist\n%s' % e)
def prefix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({ 'browsers': get_setting(self.view, 'browsers'), 'cascade': get_setting(self.view, 'cascade'), 'remove': get_setting(self.view, 'remove'), 'supports': get_setting(self.view, 'supports'), 'flexbox': get_setting(self.view, 'flexbox'), 'grid': get_setting(self.view, 'grid'), 'is_css': is_css(self.view) })]) except Exception as e: sublime.error_message('Autoprefixer\n%s' % e)
def jsfmt(self, data, scope): try: opt = json.dumps(settings.get('options')) optJSON = json.dumps(settings.get('options-JSON')) # grab the cwd if self.view.file_name(): cdir = dirname(self.view.file_name()) else: cdir = "/" return node_bridge(data, BIN_PATH, cdir, [opt, scope, optJSON]) except Exception as e: sublime.error_message('JSFMT\n%s' % e)
def prefix(self, data): try: return node_bridge(data, BIN_PATH, [ json.dumps({ 'browsers': get_setting(self.view, 'browsers'), 'cascade': get_setting(self.view, 'cascade'), 'remove': get_setting(self.view, 'remove'), 'supports': get_setting(self.view, 'supports'), 'flexbox': get_setting(self.view, 'flexbox'), 'grid': get_setting(self.view, 'grid'), 'is_css': is_css(self.view) }) ]) except Exception as e: sublime.error_message('Autoprefixer\n%s' % e)
def sorting(self, data): try: return node_bridge(data, BIN_PATH, [ json.dumps({ 'sort-order': get_setting(self.view, 'sort-order'), 'empty-lines-between-children-rules': get_setting(self.view, 'empty-lines-between-children-rules'), 'empty-lines-between-media-rules': get_setting(self.view, 'empty-lines-between-media-rules'), 'preserve-empty-lines-between-children-rules': get_setting(self.view, 'preserve-empty-lines-between-children-rules') }) ]) except Exception as e: sublime.error_message('PostCSS Sorting\n%s' % e)
def backend(options): args = [] if 'filename' in options: args.append('--filename=' + options['filename']) if is_ST2: editor = 'ST2' else: editor = 'ST3' args.append('--editor=' + editor) if 'command' in options: args.append('--' + options['command']) # TODO: Deprecate when JumpToDependency combines with JumpToDefinition if 'lookup_position' in options: args.append('--lookup-position=' + str(options['lookup_position'])) if 'click_position' in options: args.append('--click-position=' + str(options['click_position'])) if 'path' in options: args.append(options['path']) try: node_path = get_project_settings(options['filename']).get('node_path') p('node_path from settings: ', node_path) # TODO: It's not great to hardcode the Package name here but __file__ isn't consistent between Python 2 and 3 bin_path = sublime.packages_path( ) + '/Dependents/node_modules/dependents-editor-backend/bin/cli.js' p('bin path', bin_path) return node_bridge(bin_path, args, node_path) except Exception as e: traceback.print_exc() show_error( 'An error occurred. Please file an issue with the following:\n\n' + str(e), True) return ''
def beautify(self, data, action): try: return node_bridge(data, BIN_PATH, [ json.dumps({ 'format': action, 'indentSize': self.get_setting('indent_size'), 'cascade': self.get_setting('cascade'), 'maxAtRuleLength': self.get_setting('max_at_rule_length'), 'maxSelectorLength': self.get_setting('max_selector_length'), 'maxValueLength': self.get_setting('max_value_length') }) ]) except Exception as e: sublime.error_message('Perfectionist\n%s' % e)
def backend(options): args = [] if 'filename' in options: args.append('--filename=' + options['filename']) if is_ST2: editor = 'ST2' else: editor = 'ST3' args.append('--editor=' + editor) if 'command' in options: args.append('--' + options['command']) # TODO: Deprecate when JumpToDependency combines with JumpToDefinition if 'lookup_position' in options: args.append('--lookup-position=' + str(options['lookup_position'])) if 'click_position' in options: args.append('--click-position=' + str(options['click_position'])) if 'path' in options: args.append(options['path']) try: node_path = get_project_settings(options['filename']).get('node_path') p('node_path from settings: ', node_path) # TODO: It's not great to hardcode the Package name here but __file__ isn't consistent between Python 2 and 3 bin_path = sublime.packages_path() + '/Dependents/node_modules/dependents-editor-backend/bin/cli.js' p('bin path', bin_path) return node_bridge(bin_path, args, node_path) except Exception as e: traceback.print_exc() show_error('An error occurred. Please file an issue with the following:\n\n' + str(e), True) return ''
def jsfmt(self, data, scope): try: opt = json.dumps(settings.get('options')) optJSON = json.dumps(settings.get('options-JSON')) # grab the cwd if self.view.file_name(): cdir = dirname(self.view.file_name()) else: cdir = "/" return node_bridge(data, BIN_PATH, cdir, [opt, scope, optJSON]) except Exception as e: msg = "The formatting failed please check the console for more details." # Seach for the line number in case of a js error t = re.search('Error: Line [0-9]+: (.*)', str(e), flags=re.MULTILINE) if t: msg += '\n' + t.string[t.start():t.end()] if settings.get('alert-errors', True): sublime.error_message(msg) print('\n\nJSFMT ==>\n%s\n\n' % e)
def prefix(self, data): try: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('bemmet\n%s' % e)
def prefix(self, data): try: return node_bridge(data, BIN_PATH, [self.browsers]) except Exception as e: sublime.error_message('Autoprefixer\n%s' % e)
def node_exec(data): try: node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('bem-create\n%s' % e)
def fix(self, data): try: return node_bridge(data, BIN_PATH, [json.dumps({"filepath": self.view.file_name()})]) except Exception as e: sublime.error_message("CSSfmt\n%s" % e)
def prefix(self, region, browsers): try: if node_bridge(self.view.substr(region), BIN_PATH, [browsers]): self.view.replace(edit, region, prefixed) except Exception as e: sublime.error_message('Autoprefixer\n%s' % e)
def format(self, data): try: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('CSSfmt\n%s' % e)
def bis(self, data): try: return node_bridge(data, BIN_PATH) except Exception as e: sublime.error_message('bem-indent-syntax\n%s' % e)