;; 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]]}}