mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
feat: add sqruff config
This commit is contained in:
parent
4341b0ecc5
commit
f21e39d445
@ -13,7 +13,7 @@ LICENSE = ""
|
||||
default_target_type = "symbolic"
|
||||
|
||||
[base]
|
||||
depends = [ "default", "zsh", "spotify", "terminal", "local", "misc" ]
|
||||
depends = [ "default", "zsh", "spotify", "terminal", "local", "misc", "dev" ]
|
||||
|
||||
[x11]
|
||||
depends = [ "base", "awesome", "picom", "dunst", "rofi" ]
|
||||
@ -172,3 +172,6 @@ depends = [ "zsh", "tmux", "fish" ]
|
||||
|
||||
[typst.files]
|
||||
"config/typstfmt.tom" = "~/.config/typstfmt/typstfmt.toml"
|
||||
|
||||
[dev.files]
|
||||
"config/sqruff/" = "~/.config/sqruff/"
|
||||
|
||||
@ -57,7 +57,7 @@ update_ms = 500
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "memory"
|
||||
proc_sorting = "cpu direct"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
431
config/sqruff/config.cfg
Normal file
431
config/sqruff/config.cfg
Normal file
@ -0,0 +1,431 @@
|
||||
[sqlfluff]
|
||||
# verbose is an integer (0-2) indicating the level of log output
|
||||
verbose = 0
|
||||
# Turn off color formatting of output
|
||||
nocolor = False
|
||||
# Supported dialects https://docs.sqlfluff.com/en/stable/dialects.html
|
||||
# Or run 'sqlfluff dialects'
|
||||
dialect = None
|
||||
# See templater docs for options
|
||||
templater = raw
|
||||
# Comma separated list of rules to check, default to core
|
||||
rules = core
|
||||
# Comma separated list of rules to exclude, or None
|
||||
exclude_rules = None
|
||||
# Below controls SQLFluff output, see max_line_length for SQL output
|
||||
output_line_length = 80
|
||||
# Number of passes to run before admitting defeat
|
||||
runaway_limit = 10
|
||||
# Ignore errors by category (one or more of the following, separated by commas: lexing,linting,parsing,templating)
|
||||
ignore = None
|
||||
# Warn only for rule codes (one of more rule codes, seperated by commas: e.g. LT01,LT02)
|
||||
# Also works for templating and parsing errors by using TMP or PRS
|
||||
warnings = None
|
||||
# Whether to warn about unneeded '-- noqa:' comments.
|
||||
warn_unused_ignores = False
|
||||
# Ignore linting errors found within sections of code coming directly from
|
||||
# templated code (e.g. from within Jinja curly braces. Note that it does not
|
||||
# ignore errors from literal code found within template loops.
|
||||
ignore_templated_areas = True
|
||||
# can either be autodetect or a valid encoding e.g. utf-8, utf-8-sig
|
||||
encoding = autodetect
|
||||
# Ignore inline overrides (e.g. to test if still required)
|
||||
disable_noqa = False
|
||||
# Comma separated list of file extensions to lint
|
||||
# NB: This config will only apply in the root folder
|
||||
sql_file_exts = .sql,.sql.j2,.dml,.ddl
|
||||
# Allow fix to run on files, even if they contain parsing errors
|
||||
# Note altering this is NOT RECOMMENDED as can corrupt SQL
|
||||
fix_even_unparsable = False
|
||||
# Very large files can make the parser effectively hang.
|
||||
# The more efficient check is the _byte_ limit check which
|
||||
# is enabled by default. The previous _character_ limit check
|
||||
# is still present for backward compatibility. This will be
|
||||
# removed in a future version.
|
||||
# Set either to 0 to disable.
|
||||
large_file_skip_char_limit = 0
|
||||
large_file_skip_byte_limit = 20000
|
||||
# CPU processes to use while linting.
|
||||
# If positive, just implies number of processes.
|
||||
# If negative or zero, implies number_of_cpus - specified_number.
|
||||
# e.g. -1 means use all processors but one. 0 means all cpus.
|
||||
processes = 1
|
||||
# Max line length is set by default to be in line with the dbt style guide.
|
||||
# https://github.com/dbt-labs/corp/blob/main/dbt_style_guide.md
|
||||
# Set to zero or negative to disable checks.
|
||||
max_line_length = 80
|
||||
|
||||
[sqlfluff:indentation]
|
||||
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-indent-locations
|
||||
indent_unit = space
|
||||
tab_space_size = 4
|
||||
indented_joins = False
|
||||
indented_ctes = False
|
||||
indented_using_on = True
|
||||
indented_on_contents = True
|
||||
indented_then = True
|
||||
indented_then_contents = True
|
||||
allow_implicit_indents = False
|
||||
template_blocks_indent = True
|
||||
# This is a comma seperated list of elements to skip
|
||||
# indentation edits to.
|
||||
skip_indentation_in = script_content
|
||||
# If comments are found at the end of long lines, we default to moving
|
||||
# them to the line _before_ their current location as the convention is
|
||||
# that a comment precedes the line it describes. However if you prefer
|
||||
# comments moved _after_, this configuration setting can be set to "after".
|
||||
trailing_comments = before
|
||||
|
||||
# Layout configuration
|
||||
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-layout-and-spacing
|
||||
[sqlfluff:layout:type:comma]
|
||||
spacing_before = touch
|
||||
line_position = trailing
|
||||
|
||||
[sqlfluff:layout:type:binary_operator]
|
||||
spacing_within = touch
|
||||
line_position = leading
|
||||
|
||||
[sqlfluff:layout:type:statement_terminator]
|
||||
spacing_before = touch
|
||||
line_position = trailing
|
||||
|
||||
[sqlfluff:layout:type:end_of_file]
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:set_operator]
|
||||
line_position = alone:strict
|
||||
|
||||
[sqlfluff:layout:type:start_bracket]
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:end_bracket]
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:start_square_bracket]
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:end_square_bracket]
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:start_angle_bracket]
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:end_angle_bracket]
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:casting_operator]
|
||||
spacing_before = touch
|
||||
spacing_after = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:slice]
|
||||
spacing_before = touch
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:dot]
|
||||
spacing_before = touch
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:comparison_operator]
|
||||
spacing_within = touch
|
||||
line_position = leading
|
||||
|
||||
[sqlfluff:layout:type:assignment_operator]
|
||||
spacing_within = touch
|
||||
line_position = leading
|
||||
|
||||
[sqlfluff:layout:type:object_reference]
|
||||
spacing_within = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:numeric_literal]
|
||||
spacing_within = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:sign_indicator]
|
||||
spacing_after = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:tilde]
|
||||
spacing_after = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:function_name]
|
||||
spacing_within = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:function_contents]
|
||||
spacing_before = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:function_parameter_list]
|
||||
spacing_before = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:array_type]
|
||||
spacing_within = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:typed_array_literal]
|
||||
spacing_within = touch
|
||||
|
||||
[sqlfluff:layout:type:sized_array_type]
|
||||
spacing_within = touch
|
||||
|
||||
[sqlfluff:layout:type:struct_type]
|
||||
spacing_within = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:bracketed_arguments]
|
||||
spacing_before = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:typed_struct_literal]
|
||||
spacing_within = touch
|
||||
|
||||
[sqlfluff:layout:type:semi_structured_expression]
|
||||
spacing_within = touch:inline
|
||||
spacing_before = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:array_accessor]
|
||||
spacing_before = touch:inline
|
||||
|
||||
[sqlfluff:layout:type:colon]
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:colon_delimiter]
|
||||
spacing_before = touch
|
||||
spacing_after = touch
|
||||
|
||||
[sqlfluff:layout:type:path_segment]
|
||||
spacing_within = touch
|
||||
|
||||
[sqlfluff:layout:type:sql_conf_option]
|
||||
spacing_within = touch
|
||||
|
||||
[sqlfluff:layout:type:sqlcmd_operator]
|
||||
# NOTE: This is the spacing between the operator and the colon
|
||||
spacing_before = touch
|
||||
|
||||
[sqlfluff:layout:type:comment]
|
||||
spacing_before = any
|
||||
spacing_after = any
|
||||
|
||||
[sqlfluff:layout:type:inline_comment]
|
||||
spacing_before = any
|
||||
spacing_after = any
|
||||
|
||||
[sqlfluff:layout:type:block_comment]
|
||||
spacing_before = any
|
||||
spacing_after = any
|
||||
|
||||
[sqlfluff:layout:type:pattern_expression]
|
||||
# Snowflake pattern expressions shouldn't have their spacing changed.
|
||||
spacing_within = any
|
||||
|
||||
[sqlfluff:layout:type:placeholder]
|
||||
# Placeholders exist "outside" the rendered SQL syntax
|
||||
# so we shouldn't enforce any particular spacing around
|
||||
# them.
|
||||
spacing_before = any
|
||||
spacing_after = any
|
||||
|
||||
[sqlfluff:layout:type:common_table_expression]
|
||||
# The definition part of a CTE should fit on one line where possible.
|
||||
# For users which regularly define column names in their CTEs they
|
||||
# may which to relax this config to just `single`.
|
||||
spacing_within = single:inline
|
||||
|
||||
# By setting a selection of clauses to "alone", we hint to the reflow
|
||||
# algorithm that in the case of a long single line statement, the
|
||||
# first place to add newlines would be around these clauses.
|
||||
# Setting this to "alone:strict" would always _force_ line breaks
|
||||
# around them even if the line isn't too long.
|
||||
[sqlfluff:layout:type:select_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:where_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:from_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:join_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:groupby_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:orderby_clause]
|
||||
# NOTE: Order by clauses appear in many places other than in a select
|
||||
# clause. To avoid unexpected behaviour we use `leading` in this
|
||||
# case rather than `alone`.
|
||||
line_position = leading
|
||||
|
||||
[sqlfluff:layout:type:having_clause]
|
||||
line_position = alone
|
||||
|
||||
[sqlfluff:layout:type:limit_clause]
|
||||
line_position = alone
|
||||
|
||||
# Template loop tokens shouldn't dictate spacing around them.
|
||||
[sqlfluff:layout:type:template_loop]
|
||||
spacing_before = any
|
||||
spacing_after = any
|
||||
|
||||
[sqlfluff:templater]
|
||||
unwrap_wrapped_queries = True
|
||||
|
||||
[sqlfluff:templater:jinja]
|
||||
apply_dbt_builtins = True
|
||||
|
||||
# Some rules can be configured directly from the config common to other rules
|
||||
[sqlfluff:rules]
|
||||
allow_scalar = True
|
||||
single_table_references = consistent
|
||||
unquoted_identifiers_policy = all
|
||||
|
||||
[sqlfluff:rules:capitalisation.keywords]
|
||||
# Keywords
|
||||
capitalisation_policy = consistent
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:capitalisation.identifiers]
|
||||
# Unquoted identifiers
|
||||
extended_capitalisation_policy = consistent
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:capitalisation.functions]
|
||||
# Function names
|
||||
extended_capitalisation_policy = consistent
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:capitalisation.literals]
|
||||
# Null & Boolean Literals
|
||||
capitalisation_policy = consistent
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:capitalisation.types]
|
||||
# Data Types
|
||||
extended_capitalisation_policy = consistent
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:ambiguous.join]
|
||||
# Fully qualify JOIN clause
|
||||
fully_qualify_join_types = inner
|
||||
|
||||
[sqlfluff:rules:ambiguous.column_references]
|
||||
# GROUP BY/ORDER BY column references
|
||||
group_by_and_order_by_style = consistent
|
||||
|
||||
[sqlfluff:rules:aliasing.table]
|
||||
# Aliasing preference for tables
|
||||
aliasing = explicit
|
||||
|
||||
[sqlfluff:rules:aliasing.column]
|
||||
# Aliasing preference for columns
|
||||
aliasing = explicit
|
||||
|
||||
[sqlfluff:rules:aliasing.length]
|
||||
min_alias_length = None
|
||||
max_alias_length = None
|
||||
|
||||
[sqlfluff:rules:aliasing.forbid]
|
||||
# Avoid table aliases in from clauses and join conditions.
|
||||
# Disabled by default for all dialects unless explicitly enabled.
|
||||
# We suggest instead using aliasing.length (AL06) in most cases.
|
||||
force_enable = False
|
||||
|
||||
[sqlfluff:rules:convention.select_trailing_comma]
|
||||
# Trailing commas
|
||||
select_clause_trailing_comma = forbid
|
||||
|
||||
[sqlfluff:rules:convention.count_rows]
|
||||
# Consistent syntax to count all rows
|
||||
prefer_count_1 = False
|
||||
prefer_count_0 = False
|
||||
|
||||
[sqlfluff:rules:convention.terminator]
|
||||
# Semi-colon formatting approach
|
||||
multiline_newline = False
|
||||
require_final_semicolon = False
|
||||
|
||||
[sqlfluff:rules:convention.blocked_words]
|
||||
# Comma separated list of blocked words that should not be used
|
||||
blocked_words = None
|
||||
blocked_regex = None
|
||||
match_source = False
|
||||
|
||||
[sqlfluff:rules:convention.quoted_literals]
|
||||
# Consistent usage of preferred quotes for quoted literals
|
||||
preferred_quoted_literal_style = consistent
|
||||
# Disabled for dialects that do not support single and double quotes for quoted literals (e.g. Postgres)
|
||||
force_enable = False
|
||||
|
||||
[sqlfluff:rules:convention.casting_style]
|
||||
# SQL type casting
|
||||
preferred_type_casting_style = consistent
|
||||
|
||||
[sqlfluff:rules:convention.not_equal]
|
||||
# Consistent usage of preferred "not equal to" comparison
|
||||
preferred_not_equal_style = consistent
|
||||
|
||||
[sqlfluff:rules:references.from]
|
||||
# References must be in FROM clause
|
||||
# Disabled for some dialects (e.g. bigquery)
|
||||
force_enable = False
|
||||
|
||||
[sqlfluff:rules:references.qualification]
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:references.consistent]
|
||||
# References must be consistently used
|
||||
# Disabled for some dialects (e.g. bigquery)
|
||||
force_enable = False
|
||||
|
||||
[sqlfluff:rules:references.keywords]
|
||||
# Keywords should not be used as identifiers.
|
||||
unquoted_identifiers_policy = aliases
|
||||
quoted_identifiers_policy = none
|
||||
# Comma separated list of words to ignore for this rule
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:references.special_chars]
|
||||
# Special characters in identifiers
|
||||
unquoted_identifiers_policy = all
|
||||
quoted_identifiers_policy = all
|
||||
allow_space_in_identifier = False
|
||||
additional_allowed_characters = None
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
|
||||
[sqlfluff:rules:references.quoting]
|
||||
# Policy on quoted and unquoted identifiers
|
||||
prefer_quoted_identifiers = False
|
||||
prefer_quoted_keywords = False
|
||||
ignore_words = None
|
||||
ignore_words_regex = None
|
||||
force_enable = False
|
||||
|
||||
[sqlfluff:rules:layout.long_lines]
|
||||
# Line length
|
||||
ignore_comment_lines = False
|
||||
ignore_comment_clauses = False
|
||||
|
||||
[sqlfluff:rules:layout.select_targets]
|
||||
wildcard_policy = single
|
||||
|
||||
[sqlfluff:rules:layout.newlines]
|
||||
# Consecutive blank lines
|
||||
maximum_empty_lines_between_statements = 2
|
||||
maximum_empty_lines_inside_statements = 1
|
||||
|
||||
[sqlfluff:rules:structure.subquery]
|
||||
# By default, allow subqueries in from clauses, but not join clauses
|
||||
forbid_subquery_in = join
|
||||
|
||||
[sqlfluff:rules:structure.join_condition_order]
|
||||
preferred_first_table_in_join_clause = earlier
|
||||
Loading…
Reference in New Issue
Block a user