## This is the configuration file for Headroom. ## See https://github.com/vaclavsvejcar/headroom for more details. ## Defines the behaviour how to handle license headers, possible options are: ## ## - add = (default) adds license header to files with no existing header ## (same as '-a|--add-headers' command line argument) ## - drop = drops existing license header from without replacement ## (same as '-d|--drop-headers' command line argument) ## - replace = adds or replaces existing license header ## (same as '-r|--replace-headers' command line argument) run-mode: add ## Paths to source code files (either files or directories), ## same as '-s|--source-path=PATH' command line argument (can be used multiple ## times for more than one path). ## ## NOTE: Not defined in default configuration as this options must be defined by ## the user. # source-paths: [] ## Allows to define list of regular expressions that will be matched against ## 'source-paths' and such paths will be excluded from processing. Same as ## '-e|--excluded-path=REGEX' command line argument (can be used multiple times ## for more than one path). excluded-paths: [] ## Paths to template files (either files or directories), ## same as '-t|--template-path=PATH' command line argument (can be used multiple ## times for more than one path). ## ## NOTE: Not defined in default configuration as this options must be defined by ## the user. # template-paths: [] ## Variables (key-value) to replace in templates, ## same as '-v|--variable="KEY=VALUE"' command line argument (can be used ## multiple times for more than one path). variables: _haskell_module_copyright: "!!! INSERT HASKELL MODULE COPYRIGHT !!!" _haskell_module_name: "!!! INSERT HASKELL MODULE NAME !!!" _haskell_module_license: "!!! INSERT MODULE LICENSE !!!" _haskell_module_maintainer: "!!! INSERT MODULE MAINTAINER !!!" _haskell_module_stability: "!!! INSERT MODULE STABILITY !!!" _haskell_module_portability: "!!! INSERT MODULE PORTABILITY !!!" _haskell_module_longdesc: "!!! INSERT MODULE LONG DESCRIPTION !!!" _haskell_module_shortdesc: "!!! INSERT MODULE SHORT DESCRIPTION !!!" _java_package_name: "!!! UNKNOWN JAVA PACKAGE NAME !!!" _purescript_module_name: "!!! INSERT PURESCRIPT MODULE NAME !!!" ## Allows to change behaviour of license header detection and placement. Such ## configuration is defined for every supported file type, where individual ## configuration keys are: ## ## - file-extensions = List of file extensions valid for given file type. ## - margin-after = Number of blank lines to put AFTER the rendered ## license header text. ## - margin-before = Number of blank lines to put BEFORE the rendered ## license header text. ## - put-after = List of regexp patterns, where the license header is ## placed AFTER the very last line matching one of the ## given regular expressions. If no match found, header ## is placed at the very beginning of the file. ## - put-before = List of regexp patterns, where the license header is ## placed BEFORE the very first line matching one of the ## given regular expressions. If no match found, header ## is placed at the very beginning of the file. ## - block-comment = Defines that the license header is rendered using the ## multi-line (block) comment syntax (such as '/* */'). ## Has two mandatory fields: ## starts-with = Defines how the license header comment starts. ## ends-with = Defines how the license header comment ends. ## NOTE: cannot be used together with 'line-comment'. ## - line-comment = Defines that the license header is rendered using the ## single-line comment syntax (such as '//'). ## Has one mandatory field: ## prefixed-by = Defines how the license header comment starts. license-headers: ## C configuration c: file-extensions: ["c"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^#include"] block-comment: starts-with: "/*" ends-with: "*/" ## C++ configuration cpp: file-extensions: ["cpp"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^#include"] block-comment: starts-with: "/*" ends-with: "*/" ## CSS configuration css: file-extensions: ["css"] margin-after: 0 margin-before: 0 put-after: [] put-before: ['([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)'] block-comment: starts-with: "/*" ends-with: "*/" ## Haskell configuration haskell: file-extensions: ["hs"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^module"] block-comment: starts-with: "{-|" ends-with: "-}" ## HTML configuration html: file-extensions: ["htm", "html"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^(" ## Java configuration java: file-extensions: ["java"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^package"] block-comment: starts-with: "/*" ends-with: "*/" ## JS configuration js: file-extensions: ["js"] margin-after: 0 margin-before: 0 put-after: [] put-before: [] block-comment: starts-with: "/*" ends-with: "*/" ## PureScript configuration purescript: file-extensions: ["purs"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^module"] line-comment: prefixed-by: "--" ## Rust configuration rust: file-extensions: ["rs"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^use"] block-comment: starts-with: "/*" ends-with: "*/" ## Scala configuration scala: file-extensions: ["scala"] margin-after: 0 margin-before: 0 put-after: [] put-before: ["^package"] block-comment: starts-with: "/*" ends-with: "*/" ## Shell configuration shell: file-extensions: ["sh"] margin-after: 1 margin-before: 1 put-after: ["^#!"] put-before: [] line-comment: prefixed-by: "#" ## Configuration for post-processing license header functions. These functions ## allows to modify/enhance already rendered license headers, e.g. update years ## in copyright statements, etc. Each function can be enabled/disabled using the ## 'enabled' key and eventually customized using the 'config' key. post-process: ## License header function that updates years in copyright statements in ## rendered license header. If you need to update copyright year only for ## selected author(s), define them in 'selected-authors-only' key, otherwise ## ommit/comment out this key completely and all copyright statements will be ## updated. update-copyright: enabled: false config: ## If used, updates copyright statements of selected authors only. # selected-authors-only: ["John Smith"]