def _format_config(self, linter): """Format the config of a `Linter`.""" text_buffer = StringIO() # Only show version information if verbosity is high enough if self._verbosity > 0: text_buffer.write("==== sqlfluff ====\n") config_content = [ ("sqlfluff", get_package_version()), ("python", get_python_version()), ("dialect", linter.dialect.name), ("verbosity", self._verbosity), ] text_buffer.write(cli_table(config_content, col_width=25)) text_buffer.write("\n") if linter.config.get("rule_whitelist"): text_buffer.write( cli_table( [("rules", ", ".join( linter.config.get("rule_whitelist")))], col_width=41, )) if self._verbosity > 1: text_buffer.write("== Raw Config:\n") text_buffer.write(format_config_vals( linter.config.iter_vals())) return text_buffer.getvalue()
def _format_config(self, linter: Linter) -> str: """Format the config of a `Linter`.""" text_buffer = StringIO() # Only show version information if verbosity is high enough if self._verbosity > 0: text_buffer.write("==== sqlfluff ====\n") config_content = [ ("sqlfluff", get_package_version()), ("python", get_python_version()), ("implementation", get_python_implementation()), ("verbosity", self._verbosity), ] if linter.dialect: config_content.append(("dialect", linter.dialect.name)) config_content += linter.templater.config_pairs() text_buffer.write( self.cli_table(config_content, col_width=30, max_label_width=15)) text_buffer.write("\n") if linter.config.get("rule_allowlist"): text_buffer.write( self.cli_table( [("rules", ", ".join( linter.config.get("rule_allowlist")))], col_width=41, )) if self._verbosity > 1: text_buffer.write("\n== Raw Config:\n") text_buffer.write( self.format_config_vals(linter.config.iter_vals())) return text_buffer.getvalue()
def version(**kwargs): """Show the version of sqlfluff.""" c = get_config(**kwargs) if c.get("verbose") > 0: # Instantiate the linter lnt, formatter = get_linter_and_formatter(c) # Dispatch the detailed config from the linter. formatter.dispatch_config(lnt) else: # Otherwise just output the package version. click.echo(get_package_version(), color=c.get("color"))