Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.cljfmt.edn 30.60 KiB
;; Cljfmt config. See https://github.com/weavejester/cljfmt#formatting-options
{:sort-ns-references?
 true

 :function-arguments-indentation
 :community

 :parallel?
 true

 :paths
 ["src"
  "test"
  "enterprise/backend"
  "bin/build"
  "modules/drivers"
  ".clj-kondo/src"
  ".clj-kondo/test"
  #_"dev"]

 ;; See https://github.com/weavejester/cljfmt/blob/master/cljfmt/resources/cljfmt/indents/clojure.clj for the default
 ;; definitions
 ;;
 ;;    [[:block 0]]
 ;;             ^ number of special args
 ;;
 ;; `:block` indentation means format with all arguments indented 2 spaces except for the 'special' arguments which
 ;; normally are supposed to go on the first line. e.g. `let` gets [[:block 1]] because it has one 'special' arg.
 ;;
 ;;    [[:inner 0]]
 ;;             ^ depth
 ;;    [[:inner 2 0]]
 ;;               ^ argument index to restrict this rule to
 ;;
 ;; `:inner` indentation is like `:defn` indentation. `[[:inner 0]]` (default for `defn`) means all arguments at depth
 ;; zero get indented 2 spaces if not on the first line regardless of number of elements on the first line.
 :extra-indents
 {;; clojure.core stuff
  fn*                                                                                  [[:inner 0]]
  let*                                                                                 [[:block 1]]
  with-meta                                                                            [[:default]]
  ;; library stuff. Libraries that specify their own `:style/indent` specs are included in the section after this
  ;; since it is generated automatically.
  clojure.core.logic/fresh                                                             [[:block 1]]
  clojure.core.logic/matcha                                                            [[:block 1]]
  clojure.core.logic/run                                                               [[:block 2]]
  clojure.core.match/match                                                             [[:block 1]]
  clojure.test.check.properties/for-all                                                [[:block 1]]
  clojure.test.check.properties/for-all*                                               [[:block 1]]
  clojure.test.check/quick-check                                                       [[:block 1]]
  clojure.tools.macro/macrolet                                                         [[:block 1] [:inner 2 0]]
  clojurewerkz.quartzite.jobs/build                                                    [[:default]]
  clojurewerkz.quartzite.jobs/with-description                                         [[:default]]
  clojurewerkz.quartzite.jobs/with-identity                                            [[:default]]
  clojurewerkz.quartzite.schedule.cron/schedule                                        [[:default]]
  clojurewerkz.quartzite.schedule.cron/with-misfire-handling-instruction-do-nothing    [[:default]]
  clojurewerkz.quartzite.triggers/build                                                [[:default]]
  clojurewerkz.quartzite.triggers/with-description                                     [[:default]]
  clojurewerkz.quartzite.triggers/with-identity                                        [[:default]]
  clojurewerkz.quartzite.triggers/with-priority                                        [[:default]]
  clojurewerkz.quartzite.triggers/with-schedule                                        [[:default]]
  def-map-type                                                                         [[:block 2] [:inner 1]]
  defprotocol+                                                                         [[:block 1] [:inner 1]]
  defrecord+                                                                           [[:block 2] [:inner 1]]
  deftype+                                                                             [[:block 2] [:inner 1]]
  net.cgrand.macrovich/case                                                            [[:block 0]]
  potemkin.namespaces/import-vars                                                      [[:default]]
  potemkin.types/def-map-type                                                          [[:block 2] [:inner 1]]
  potemkin.types/defprotocol+                                                          [[:block 1] [:inner 1]]
  potemkin.types/defrecord+                                                            [[:block 2] [:inner 1]]
  potemkin.types/deftype+                                                              [[:block 2] [:inner 1]]
  potemkin/def-map-type                                                                [[:block 2] [:inner 1]]
  potemkin/defprotocol+                                                                [[:block 1] [:inner 1]]
  potemkin/defrecord+                                                                  [[:block 2] [:inner 1]]
  potemkin/deftype+                                                                    [[:block 2] [:inner 1]]
  potemkin/import-vars                                                                 [[:default]]
  taoensso.nippy/extend-freeze                                                         [[:inner 0]]
  taoensso.nippy/extend-thaw                                                           [[:inner 0]]
  throttle.core/with-throttling                                                        [[:block 1]]
  ;; the rest of the stuff in this list is generated automatically based on `:style/indent` specs
  ;; by running [[dev.generate-cljfmt-config/specs]]... use that code to update this list
  metabase-enterprise.advanced-permissions.api.util-test/with-impersonations!          [[:inner 0]]
  metabase-enterprise.cache.config-test/with-temp-persist-models                       [[:block 1]]
  metabase-enterprise.sandbox.test-util/with-gtaps!                                    [[:inner 0]]
  metabase-enterprise.sandbox.test-util/with-gtaps-for-user!                           [[:inner 0]]
  metabase-enterprise.sandbox.test-util/with-user-attributes                           [[:block 2]]
  metabase-enterprise.serialization.test-util/with-dbs                                 [[:inner 0]]
  metabase-enterprise.serialization.test-util/with-random-dump-dir                     [[:block 1]]
  metabase-enterprise.serialization.test-util/with-world                               [[:block 0]]
  metabase-enterprise.sso.integrations.jwt-test/with-users-with-email-deleted          [[:block 1]]
  metabase-enterprise.test/with-gtaps!                                                 [[:inner 0]]
  metabase-enterprise.test/with-gtaps-for-user!                                        [[:inner 0]]
  metabase-enterprise.test/with-user-attributes                                        [[:block 2]]
  metabase.actions-test/with-actions-test-data-and-actions-permissively-enabled        [[:block 0]]
  metabase.actions.test-util/with-actions                                              [[:block 1]]
  metabase.actions.test-util/with-actions-disabled                                     [[:block 0]]
  metabase.actions.test-util/with-actions-enabled                                      [[:block 0]]
  metabase.actions.test-util/with-actions-test-data                                    [[:inner 0]]
  metabase.actions.test-util/with-actions-test-data-and-actions-enabled                [[:block 0]]
  metabase.actions.test-util/with-actions-test-data-tables                             [[:block 1]]
  metabase.actions.test-util/with-empty-db                                             [[:inner 0]]
  metabase.actions.test-util/with-temp-test-data                                       [[:inner 0]]
  metabase.api.alert-test/with-alert-in-collection                                     [[:block 1]]
  metabase.api.card-test/with-cards-in-readable-collection                             [[:block 1]]
  metabase.api.card-test/with-cards-in-writeable-collection                            [[:block 1]]
  metabase.api.card-test/with-ordered-items                                            [[:inner 0]]
  metabase.api.card-test/with-temp-native-card!                                        [[:block 1]]
  metabase.api.card-test/with-temp-native-card-with-params!                            [[:block 1]]
  metabase.api.collection-test/with-collection-hierarchy                               [[:block 1]]
  metabase.api.collection-test/with-french-user-and-personal-collection                [[:block 2]]
  metabase.api.collection-test/with-some-children-of-collection                        [[:block 1]]
  metabase.api.common/check                                                            [[:default]]
  metabase.api.common/define-routes                                                    [[:block 0]]
  metabase.api.common/let-404                                                          [[:block 1]]
  metabase.api.common.internal/auto-coerce                                             [[:block 1]]
  metabase.api.common.internal/auto-parse                                              [[:block 1]]
  metabase.api.common.internal-test/no-route-regexes                                   [[:block 0]]
  metabase.api.embed-test/do-response-formats                                          [[:block 1]]
  metabase.api.embed-test/with-embedding-enabled-and-new-secret-key                    [[:block 0]]
  metabase.api.embed-test/with-embedding-enabled-and-temp-card-referencing             [[:block 3]]
  metabase.api.embed-test/with-embedding-enabled-and-temp-dashcard-referencing         [[:block 3]]
  metabase.api.embed-test/with-new-secret-key                                          [[:block 0]]
  metabase.api.embed-test/with-temp-card                                               [[:block 1]]
  metabase.api.embed-test/with-temp-dashcard                                           [[:block 1]]
  metabase.api.preview-embed-test/with-embedding-enabled-and-new-secret-key            [[:block 0]]
  metabase.api.preview-embed-test/with-new-secret-key                                  [[:block 0]]
  metabase.api.public-test/with-sharing-enabled-and-temp-card-referencing              [[:block 3]]
  metabase.api.public-test/with-sharing-enabled-and-temp-dashcard-referencing          [[:block 3]]
  metabase.api.public-test/with-temp-public-card                                       [[:block 1]]
  metabase.api.public-test/with-temp-public-dashboard                                  [[:block 1]]
  metabase.api.public-test/with-temp-public-dashboard-and-card                         [[:block 1]]
  metabase.api.search-test/do-test-users                                               [[:block 1]]
  metabase.api.session/http-401-on-error                                               [[:block 0]]
  metabase.async.streaming-response/streaming-response                                 [[:block 2]]
  metabase.async.streaming-response-test/with-streaming-response-thread-pool           [[:block 0]]
  metabase.async.streaming-response-test/with-test-driver-db!                          [[:block 0]]
  metabase.async.util/cancelable-thread                                                [[:block 0]]
  metabase.cmd.copy/step                                                               [[:block 1]]
  metabase.cmd.copy/with-connection-rollback-only                                      [[:block 1]]
  metabase.cmd.copy/with-disabled-db-constraints                                       [[:block 2]]
  metabase.config/build-type-case                                                      [[:block 0]]
  metabase.dashboard-subscription-test/with-link-card-fixture-for-dashboard            [[:block 2]]
  metabase.db.liquibase/with-liquibase                                                 [[:block 1]]
  metabase.db.liquibase/with-scope-locked                                              [[:block 1]]
  metabase.db.schema-migrations-test.impl/test-migrations                              [[:block 2]]
  metabase.db/with-application-db                                                      [[:inner 0]]
  metabase.driver.bigquery-cloud-sdk.query-processor/with-temporal-type                [[:default]]
  metabase.driver.druid.client/DELETE                                                  [[:default]]
  metabase.driver.druid.client/GET                                                     [[:default]]
  metabase.driver.druid.client/POST                                                    [[:default]]
  metabase.driver.druid.query-processor-test/druid-query                               [[:block 0]]
  metabase.driver.druid.query-processor-test/druid-query-returning-rows                [[:block 0]]
  metabase.driver.mongo.query-processor/mongo-let                                      [[:block 1]]
  metabase.driver.sql-jdbc.actions/with-jdbc-transaction                               [[:block 1]]
  metabase.driver.sql-jdbc.connection/with-connection-spec-for-testing-connection      [[:block 1]]
  metabase.driver.sql-jdbc.execute.diagnostic/capturing-diagnostic-info                [[:block 1]]
  metabase.driver.sql.query-processor/apply-top-level-clause                           [[:default]]
  metabase.driver/with-driver                                                          [[:block 1]]
  metabase.lib.binning/with-binning                                                    [[:default]]
  metabase.lib.core/with-binning                                                       [[:default]]
  metabase.lib.core/with-join-alias                                                    [[:default]]
  metabase.lib.core/with-join-conditions                                               [[:default]]
  metabase.lib.join/with-join-alias                                                    [[:default]]
  metabase.lib.join/with-join-conditions                                               [[:default]]
  metabase.lib.test-util.macros/$ids                                                   [[:inner 0]]
  metabase.lib.test-util.macros/mbql-query                                             [[:inner 0]]
  metabase.lib.util.match/match                                                        [[:inner 0]]
  metabase.lib.util.match/match-one                                                    [[:inner 0]]
  metabase.lib.util.match/replace                                                      [[:inner 0]]
  metabase.lib.util.match/replace-in                                                   [[:inner 0]]
  metabase.models.collection-test/with-collection-hierarchy                            [[:block 1]]
  metabase.models.collection-test/with-current-user-perms-for-collections              [[:block 1]]
  metabase.models.collection-test/with-personal-and-impersonal-collections             [[:block 1]]
  metabase.models.dashboard-test/with-dash-in-collection                               [[:inner 0]]
  metabase.models.interface/define-batched-hydration-method                            [[:inner 0]]
  metabase.models.interface/define-simple-hydration-method                             [[:inner 0]]
  metabase.models.params.chain-filter-test/with-clean-field-values-for-field           [[:block 1]]
  metabase.models.params.chain-filter-test/with-fk-field-to-field-remapping            [[:block 0]]
  metabase.models.params.chain-filter-test/with-human-readable-values-remapping        [[:block 0]]
  metabase.models.pulse-test/with-dashboard-subscription-in-collection                 [[:block 1]]
  metabase.models.pulse-test/with-pulse-in-collection                                  [[:inner 0]]
  metabase.models.setting/defsetting                                                   [[:block 1]]
  metabase.models.setting.multi-setting/define-multi-setting                           [[:inner 0]]
  metabase.models.task-history/with-task-history                                       [[:block 1]]
  metabase.query-processor-test.pipeline-queries-test/pmbql-query                      [[:block 1]]
  metabase.query-processor-test.pipeline-queries-test/run-pmbql-query                  [[:block 1]]
  metabase.query-processor.debug/debug>                                                [[:block 0]]
  metabase.query-processor.error-type/deferror                                         [[:block 1]]
  metabase.query-processor.middleware.cache-backend.interface/with-cached-results      [[:block 4]]
  metabase.query-processor.middleware.process-userland-query-test/with-query-execution [[:block 1]]
  metabase.query-processor.store/cached                                                [[:block 1]]
  metabase.query-processor.store/with-metadata-provider                                [[:inner 0]]
  metabase.query-processor.streaming/streaming-response                                [[:block 1]]
  metabase.query-processor.test-util/format-rows-by                                    [[:default]]
  metabase.sample-data-test/with-temp-sample-database-db                               [[:block 1]]
  metabase.server.middleware.session/as-admin                                          [[:block 0]]
  metabase.server.middleware.session/with-current-user                                 [[:inner 0]]
  metabase.sync.fetch-metadata/log-if-error                                            [[:block 1]]
  metabase.sync.sync-metadata.fields-test/with-test-db                                 [[:block 0]]
  metabase.sync.util/do-with-start-and-finish-debug-logging                            [[:default]]
  metabase.sync.util/sum-for                                                           [[:block 1]]
  metabase.sync.util/sync-operation                                                    [[:block 3]]
  metabase.sync.util/with-db-logging-disabled                                          [[:default]]
  metabase.sync.util/with-duplicate-ops-prevented                                      [[:default]]
  metabase.sync.util/with-emoji-progress-bar                                           [[:block 1]]
  metabase.sync.util/with-error-handling                                               [[:block 1]]
  metabase.sync.util/with-start-and-finish-logging                                     [[:default]]
  metabase.sync.util/with-start-and-finish-logging*                                    [[:default]]
  metabase.sync.util/with-sync-events                                                  [[:default]]
  metabase.test/$ids                                                                   [[:inner 0]]
  metabase.test/as-admin                                                               [[:inner 0]]
  metabase.test/dataset                                                                [[:inner 0]]
  metabase.test/discard-setting-changes                                                [[:block 1]]
  metabase.test/format-rows-by                                                         [[:default]]
  metabase.test/let-url                                                                [[:block 1]]
  metabase.test/mbql-query                                                             [[:inner 0]]
  metabase.test/native-query                                                           [[:block 0]]
  metabase.test/query                                                                  [[:block 1]]
  metabase.test/run-mbql-query                                                         [[:inner 0]]
  metabase.test/test-driver                                                            [[:inner 0]]
  metabase.test/test-drivers                                                           [[:inner 0]]
  metabase.test/test-helpers-set-global-values!                                        [[:block 0]]
  metabase.test/throw-if-called!                                                       [[:block 1]]
  metabase.test/with-actions                                                           [[:block 1]]
  metabase.test/with-actions-disabled                                                  [[:block 0]]
  metabase.test/with-actions-enabled                                                   [[:block 0]]
  metabase.test/with-actions-test-data                                                 [[:inner 0]]
  metabase.test/with-actions-test-data-and-actions-enabled                             [[:block 0]]
  metabase.test/with-actions-test-data-tables                                          [[:block 1]]
  metabase.test/with-additional-premium-features                                       [[:block 1]]
  metabase.test/with-current-user                                                      [[:inner 0]]
  metabase.test/with-driver                                                            [[:block 1]]
  metabase.test/with-empty-db                                                          [[:inner 0]]
  metabase.test/with-empty-h2-app-db                                                   [[:block 0]]
  metabase.test/with-metadata-provider                                                 [[:inner 0]]
  metabase.test/with-premium-features                                                  [[:block 1]]
  metabase.test/with-temp                                                              [[:inner 0]]
  metabase.test/with-temp-copy-of-db                                                   [[:block 0]]
  metabase.test/with-temp-scheduler                                                    [[:block 0]]
  metabase.test/with-temp-test-data                                                    [[:inner 0]]
  metabase.test/with-temp-vals-in-db                                                   [[:block 3]]
  metabase.test/with-test-user                                                         [[:inner 0]]
  metabase.test/with-user-in-groups                                                    [[:inner 0]]
  metabase.test.data/$ids                                                              [[:inner 0]]
  metabase.test.data/dataset                                                           [[:inner 0]]
  metabase.test.data/mbql-query                                                        [[:inner 0]]
  metabase.test.data/native-query                                                      [[:block 0]]
  metabase.test.data/query                                                             [[:block 1]]
  metabase.test.data/run-mbql-query                                                    [[:inner 0]]
  metabase.test.data/with-empty-h2-app-db                                              [[:block 0]]
  metabase.test.data/with-temp-copy-of-db                                              [[:block 0]]
  metabase.test.data.datasets/test-driver                                              [[:inner 0]]
  metabase.test.data.datasets/test-drivers                                             [[:inner 0]]
  metabase.test.data.one-off-dbs/with-blank-db                                         [[:block 0]]
  metabase.test.data.one-off-dbs/with-blueberries-db                                   [[:block 0]]
  metabase.test.data.users/with-test-user                                              [[:inner 0]]
  metabase.test.util/discard-setting-changes                                           [[:block 1]]
  metabase.test.util/let-url                                                           [[:block 1]]
  metabase.test.util/throw-if-called!                                                  [[:block 1]]
  metabase.test.util/with-temp-scheduler                                               [[:block 0]]
  metabase.test.util/with-temp-vals-in-db                                              [[:block 3]]
  metabase.test.util/with-user-in-groups                                               [[:inner 0]]
  metabase.test.util.public-settings/with-additional-premium-features                  [[:block 1]]
  metabase.test.util.public-settings/with-premium-features                             [[:block 1]]
  metabase.test.util.thread-local/test-helpers-set-global-values!                      [[:block 0]]
  metabase.timeseries-query-processor-test.util/test-timeseries-drivers                [[:block 0]]
  metabase.timeseries-query-processor-test/run-mbql-query                              [[:inner 0]]
  metabase.upload-test/with-upload-table!                                              [[:inner 0]]
  metabase.upload.types/with-currency                                                  [[:default]]
  metabase.upload.types/with-parens                                                    [[:default]]
  metabase.util/auto-retry                                                             [[:block 1]]
  metabase.util/ignore-exceptions                                                      [[:block 0]]
  metabase.util/or-with                                                                [[:block 1]]
  metabase.util/profile                                                                [[:block 1]]
  metabase.util/prog1                                                                  [[:inner 0]]
  metabase.util/varargs                                                                [[:inner 0]]
  metabase.util/with-us-locale                                                         [[:block 0]]
  metabase.util.date-2/with-time-zone-same-instant                                     [[:default]]
  metabase.util.encryption-test/with-secret-key                                        [[:block 1]]
  metabase.util.honey-sql-2/with-database-type-info                                    [[:default]]
  metabase.util.i18n/deferred-trs                                                      [[:default]]
  metabase.util.i18n/deferred-tru                                                      [[:default]]
  metabase.util.i18n/trs                                                               [[:default]]
  metabase.util.i18n/trsn                                                              [[:default]]
  metabase.util.i18n/tru                                                               [[:default]]
  metabase.util.i18n/trun                                                              [[:default]]
  metabase.util.jvm/auto-retry                                                         [[:block 1]]
  metabase.util.jvm/varargs                                                            [[:block 1]]
  metabase.util.jvm/with-us-locale                                                     [[:block 0]]
  metabase.util.malli/disable-enforcement                                              [[:block 0]]
  metabase.util.malli/with                                                             [[:default]]
  metabase.util.malli/with-api-error-message                                           [[:default]]
  metabase.util.namespaces/import-fns                                                  [[:default]]
  metabuild-common.core/exit-when-finished-nonzero-on-exception                        [[:block 0]]
  metabuild-common.core/step                                                           [[:block 1]]
  metabuild-common.entrypoint/exit-when-finished-nonzero-on-exception                  [[:block 0]]
  metabuild-common.steps/step                                                          [[:block 1]]
  methodical.core/defmethod                                                            [[:inner 0]]
  methodical.core/defmulti                                                             [[:inner 0]]
  methodical.core/with-dispatcher                                                      [[:default]]
  methodical.core/with-method-table                                                    [[:default]]
  methodical.core/with-prefers                                                         [[:default]]
  methodical.interface/with-dispatcher                                                 [[:default]]
  methodical.interface/with-method-table                                               [[:default]]
  methodical.interface/with-prefers                                                    [[:default]]
  methodical.macros/defmethod                                                          [[:inner 0]]
  methodical.macros/defmulti                                                           [[:inner 0]]
  saml20-clj.sp.response/validate-confirmation-datas                                   [[:block 1]]
  toucan2.connection/with-transaction                                                  [[:block 1]]
  toucan2.core/build                                                                   [[:block 0]]
  toucan2.core/compile                                                                 [[:block 0]]
  toucan2.core/debug                                                                   [[:block 0]]
  toucan2.core/define-after-insert                                                     [[:inner 0]]
  toucan2.core/define-after-select                                                     [[:inner 0]]
  toucan2.core/define-after-update                                                     [[:inner 0]]
  toucan2.core/define-before-delete                                                    [[:inner 0]]
  toucan2.core/define-before-insert                                                    [[:inner 0]]
  toucan2.core/define-before-select                                                    [[:inner 0]]
  toucan2.core/define-default-fields                                                   [[:inner 0]]
  toucan2.core/define-named-query                                                      [[:block 1]]
  toucan2.core/deftransforms                                                           [[:block 1]]
  toucan2.core/with-transaction                                                        [[:block 1]]
  toucan2.tools.after/define-after-impl                                                [[:default]]
  toucan2.tools.after-insert/define-after-insert                                       [[:inner 0]]
  toucan2.tools.after-select/define-after-select                                       [[:inner 0]]
  toucan2.tools.after-update/define-after-update                                       [[:inner 0]]
  toucan2.tools.before-delete/define-before-delete                                     [[:inner 0]]
  toucan2.tools.before-insert/define-before-insert                                     [[:inner 0]]
  toucan2.tools.before-select/define-before-select                                     [[:inner 0]]
  toucan2.tools.compile/build                                                          [[:block 0]]
  toucan2.tools.compile/compile                                                        [[:block 0]]
  toucan2.tools.compile/resolved                                                       [[:block 0]]
  toucan2.tools.debug/debug                                                            [[:block 0]]
  toucan2.tools.default-fields/define-default-fields                                   [[:inner 0]]
  toucan2.tools.named-query/define-named-query                                         [[:block 1]]
  toucan2.tools.simple-out-transform/define-out-transform                              [[:inner 0]]
  toucan2.tools.transformed/deftransforms                                              [[:block 1]]
  toucan2.tools.with-temp/with-temp                                                    [[:inner 0]]
  toucan2.util/try-with-error-context                                                  [[:inner 0]]}}