h$      !"#$%&'()*+ , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e fghijklmnopqrstuvwxyz{|}~   !!!""""""################$$$$$$$$$$$$$$$$$$$$%'+Shared code for individual command handlers(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone [headroom Bootstraps RIO application using provided environment data and flag whether to run in debug mode.headroom#function returning environment dataheadroomwhether to run in debug modeheadroomRIO application to executeheadroomexecution result"Extra functionality for enum types(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone 'headroomEnum data type, capable to (de)serialize itself from/to string representation. Can be automatically derived by GHC using the DeriveAnyClass extension.headroom Returns list of all enum values.(:set -XDeriveAnyClass -XTypeApplicationsdata Test = Foo | Bar deriving (Bounded, Enum, EnumExtra, Eq, Ord, Show)allValues @Test [Foo,Bar]headroomReturns all values of enum as single string, individual values separated with comma.(:set -XDeriveAnyClass -XTypeApplicationsdata Test = Foo | Bar deriving (Bounded, Enum, EnumExtra, Eq, Ord, Show)allValuesToText @Test "Foo, Bar"headroom:Returns textual representation of enum value. Opposite to .:set -XDeriveAnyClassdata Test = Foo | Bar deriving (Bounded, Enum, EnumExtra, Eq, Ord, Show)enumToText Bar"Bar"headroomReturns enum value from its textual representation. Opposite to .:set -XDeriveAnyClassdata Test = Foo | Bar deriving (Bounded, Enum, EnumExtra, Eq, Ord, Show)"(textToEnum "Foo") :: (Maybe Test)Just FooSimplified variant of Data.Has(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNoneheadroomImplementation of the Has type class pattern.   Custom functionality related to lens(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone& headroomA template haskell function to build lenses for a record type. This function differs from the &' function in that it does not require the record fields to be prefixed with underscores and it adds an L= suffix to lens names to make it clear that they are lenses. headroomSame as  ,, but build lenses only for selected fields.  *Additional utilities for text manipulation(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone  headroom) "foo zz\nbar""T: foo zz\nT: bar"headroomSame as  , but takes  as input instead of .read "123" :: Maybe IntJust 123headroom Similar to ", but does not automatically adds n at the end of the text. Advantage is that when used together with , it doesn't ocassionaly change the newlines ad the end of input text: fromLines . toLines $ "foo\nbar" "foo\nbar""fromLines . toLines $ "foo\nbar\n" "foo\nbar\n"Other examples: fromLines []""fromLines ["foo"]"foo"fromLines ["first", "second"]"first\nsecond"!fromLines ["first", "second", ""]"first\nsecond\n"headroom Similar to , but does not drop trailing newlines from output. Advantage is that when used together with , it doesn't ocassionaly change the newlines ad the end of input text: fromLines . toLines $ "foo\nbar" "foo\nbar""fromLines . toLines $ "foo\nbar\n" "foo\nbar\n"Other examples: toLines ""[]toLines "first\nsecond"["first","second"]toLines "first\nsecond\n"["first","second",""] headroom%function to map over individual linesheadroom input textheadroom result textheadroominput text to parseheadroom parsed valueheadroom lines to joinheadroom!text joined from individual linesheadroomtext to break into linesheadroomlines of input text  Data types for Headroom.FileType(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone: headroom#Supported type of source code file.headroom support for C programming languageheadroom support for C++ programming languageheadroom support for CSSheadroom support for Haskell programming languageheadroom support for HTMLheadroom support for Java programming languageheadroom support for  JavaScript programming languageheadroom support for  PureScript programming languageheadroom support for Rust programming languageheadroom support for Scala programming languageheadroom support for Shell  Data types for license header functions(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone#headroomDefinition of license header function6, i.e. function, that is applied to already rendered license header4, performs some logic and returns modified text of license header. Given that the  reader monad and ? transformer is used, any configuration is provided using the env& environment. When combined with the Headroom.Data.Has; monad, it provides powerful way how to combine different license header function and environments.)Structure of License Header Function Type Text -> Reader env Text J J J JJ rendered text of license header J J JJ environment holding possible configuration J JJ modified license header text #$#$,Various functions for data (de)serialization(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone#V'headroomCustom Aeson encoding options used for generic mapping between data records and JSON or YAML values. Expects the fields in input to be without the prefix and with words formated in  symbol case (example: record field  uUserName, JSON field  user-name).(headroom"Drops prefix from camel-case text.dropFieldPrefix "xxHelloWorld" "helloWorld")headroom=Transforms camel-case text into text cased with given symbol.symbolCase '-' "fooBar" "foo-bar"*headroomPretty prints given data as YAML.)headroomword separator symbolheadroom input textheadroomprocessed text*headroomdata to pretty printheadroompretty printed YAML output'()*'()* Application data types(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone &\+headroomMetadata parsed from raw template, specific for selected  file type.-headroom+Offsets for selected fields extracted from Haddock module header./headroom offset for  Copyright field0headroom Wraps the value of current year.2headroomvalue of current year3headroomTop-level of the Headroom exception hierarchy.5headroomWraps given exception into 3.6headroomUnwraps given exception from 3.5headroomexception to wrapheadroomwrapped exception6headroomexception to unwrapheadroomunwrapped exception +,-./0123456 3465+,-./012 (Helper functions for regular expressions(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone - @headroomException specific to the Headroom.Data.Regex module.Aheadroom"given input cannot be compiled as regexBheadroomRepresents compiled regex), encapsulates the actual implementation.DheadroomCompiles given regex in runtime. If possible, prefer the F quasi quotation version that does the same at  compile time.EheadroomSame as E, but works with  and uses no additional options.FheadroomA QuasiQuoter for regular expressions that does a compile time check.Gheadroom!Replaces all occurences of given regex.Hheadroom.Searches the text for all occurences of given regex.IheadroomCompiles the given text into regex in runtime. Note that if the regex cannot be compiled, it will throw runtime error. Do not use this function unless you know what you're doing.Dheadroomregex to compileheadroomcompiled regexEheadroom3a PCRE regular expression value produced by compileheadroom!the subject text to match againstheadroomthe result valueGheadroomregex to match what to replaceheadroomreplacement function (as fullMatch -> [groups] -> result)headroomtext to replace inheadroomresulting textHheadroomregex to search forheadroom input textheadroomfound occurences (as [(fullMatch, [groups])])Iheadroomregex to compileheadroom compiled regex or runtime exception @ABCDEFGHI BC@ADEFGHI License Header function! for updating years in copyrights(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone ?1Oheadroom#Mode that changes behaviour of the T function.Pheadroom+updates years in copyrights for all authorsQheadroom5updates years in copyrights only for selected authorsRheadroomNon-empty list of authors for which to update years in their copyrights.TheadroomLicense header function that updates years and year ranges in any present copyright statements.Reader Environment Parameters 0value of the current yearO,mode specifying the behaviour of the updaterUheadroom-Updates years and years ranges in given text.3updateYears (CurrentYear 2020) "Copyright (c) 2020""Copyright (c) 2020"3updateYears (CurrentYear 2020) "Copyright (c) 2019""Copyright (c) 2019-2020"8updateYears (CurrentYear 2020) "Copyright (c) 2018-2020""Copyright (c) 2018-2020"8updateYears (CurrentYear 2020) "Copyright (c) 2018-2019""Copyright (c) 2018-2020"Uheadroom current yearheadroomtext to updateheadroomtext with updated yearsOPQRSTURSOPQTU $UI component for displaying progress(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone3ZheadroomProgress indication. First argument is current progress, second the maximum value.\headroom'Zips given list with the progress info.zipWithProgress ["a", "b"]'[(Progress 1 2,"a"),(Progress 2 2,"b")]\headroomlist to zip with progressheadroom zipped resultZ[\Z[\( UI Components(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone4'Z[\ Data types for Headroom.Variables(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone5P`headroomMap of static and dynamic variables. Use )> function for more convenient construction of this data type.`a`a1Generic representation of supported template type(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone 9fheadroom!Error during processing template.gheadroommissing variable valueshheadroomerror parsing raw template textiheadroomType class representing generic license header template support.jheadroomReturns list of supported file extensions for this template type.kheadroom$Parses template from given raw text.lheadroomRenders parsed template and replaces all variables with actual values.mheadroomReturns the raw text of the template, same that has been parsed by k method.jheadroom!list of supported file extensionskheadroomname of the template (optional)headroomraw template textheadroomparsed templatelheadroomvalues of variables to replaceheadroomparsed template to renderheadroomrendered template textmheadroom.template for which to return raw template textheadroomraw template textfhgijklmijklmfhgImplementation of Mustache template support(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone :qheadroomThe Mustache template.sheadroom Support for Mustache templates.qrqrExtraction of Haddock module header fields(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone #$5C uheadroomExtracted fields from the Haddock module header.wheadroom!module copyright (content of the  Copyright field)xheadroommodule license (content of the License field)yheadroommodule license (content of the  Maintainer field)zheadroommodule license (content of the  Portability field){headroommodule license (content of the  Stability field)|headroom)module short description (content of the  Description field)}headroom=module long description (the text after module header fields)~headroom Extracts offsets for selected haddock fields (i.e. number of chars between start of line and field value). This is needed to properly format multi-line field values rendered in new license headers.headroomExtracts metadata from given Haddock module header.headroom'Adds correct indentation to multi-line Haddock field values. It's usually desired to have such values indented like this: Copyright : (c) 2020, 1st Author (c) 2020, 2nd Author 'This functions achieves that using the offset value, which specifies number of empty characters that should be placed before second (and any subsequent) line.$indentField (Just 2) "foo\nbar\nbaz""foo\n bar\n baz"headroomStrips Haskell comment syntax tokens (e.g. {-, -}) from input text.%stripCommentSyntax "{- foo -}\nbar\n" "foo \nbar\n"~headroomparsed templateheadroomextracted field offsetsheadroomtext containing Haddock module headerheadroom&extracted metadata from corresponding templateheadroomextracted metadataheadroom>offset (in number of black chars) for 2nd and subsequent linesheadroominput text to indentheadroomprocessed textheadroominput text to stripheadroom,resulting text without comment syntax tokens uvwxyz{|}~ uvwxyz{|}~Data types for Headroom configuration(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone #$/28:>?X&headroomException specific to the Headroom.Configuration module.headroom>some of the required configuration keys has not been specifiedheadroomillegal configuration for headroom+Represents single key in the configuration.headroomno configuration for file-extensionsheadroom"no configuration for header syntaxheadroomno configuration for  margin-afterheadroomno configuration for  margin-beforeheadroomno configuration for  put-afterheadroomno configuration for  put-beforeheadroomno configuration for run-modeheadroomno configuration for  source-pathsheadroomno configuration for excluded-pathsheadroom$no configuration for template sourceheadroomno configuration for  variablesheadroomno configuration for enabledheadroomAlias for partial variant of .headroomAlias for complete variant of .headroom Group of ) configurations for supported file types.headroomconfiguration for C programming languageheadroomconfiguration for C++ programming languageheadroomconfiguration for CSSheadroomconfiguration for Haskell programming languageheadroomconfiguration for HTMLheadroomconfiguration for Java programming languageheadroomconfiguration for  JavaScript programming languageheadroomconfiguration for  PureScript programming languageheadroomconfiguration for Rust programming languageheadroomconfiguration for Scala programming languageheadroomconfiguration for ShellheadroomAlias for partial variant of .headroomAlias for complete variant of .headroom*Configuration for specific license header.headroom%list of file extensions (without dot)headroom)number of empty lines to put after headerheadroom*number of empty lines to put before headerheadroomregexp' patterns after which to put the headerheadroomregexp( patterns before which to put the headerheadroom$syntax of the license header commentheadroomAlias for partial variant of .headroomAlias for complete variant of .headroomApplication configuration.headroom mode of the run commandheadroompaths to source code filesheadroomexcluded source pathsheadroomsource of license templatesheadroomvariable values for templatesheadroom configuration of license headersheadroom)configuration of license header functionsheadroomAlias for partial variant of .headroomAlias for complete variant of .headroomConfiguration of all known license header functions.headroomconfiguration for the !Headroom.HeaderFn.UpdateCopyright license header functionheadroomAlias for partial variant of .headroomAlias for complete variant of .headroomConfiguration for selected license header function.headroom'whether this function is enabled or notheadroomcustom configuration of the license header functionheadroomAlias for partial variant of .headroomAlias for complete variant of .headroomMain configuration for the !Headroom.HeaderFn.UpdateCopyright license header function.headroomif specified, years will be updated only in copyright statements of given authorsheadroomSource of license templatesheadroom#templates are stored as local filesheadroom+use built-in templates for selected licenseheadroom"Represents what action should the gen command perform.headroom generate YAML config file stubheadroom generate license header templateheadroom"Represents what action should the run command perform.headroomadd mode for run commandheadroom check mode for run commandheadroom drop mode for run commandheadroom replace mode for run commandheadroom&Supported type of open source license.headroom support for  Apache-2.0 licenseheadroom support for  BSD-3-Clause licenseheadroom support for GNU GPL2 licenseheadroom support for GNU GPL3 licenseheadroom support for MIT licenseheadroom support for MPL2 licenseheadroom%Syntax of the license header comment.headroom(block (multi-line) comment syntax (e.g. * *)headroom!single line comment syntax (e.g. //)headroomClosed type family. used to express the phase of given data type.headroom>Data type representing state of given configuration data type.headroompartial configuration, could be combined with another or validated to produce the complete configurationheadroomcomplete configuration, result of combining and validation of partial configuration&Logic for handlig supported file types(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone#$\headroomReturns  for given file extension (without dot), using configured values from the .headroom/Lists all recognized file extensions for given $, using configured values from the .headroomReturns the proper  for the given , selected from the .headroomlicense headers configurationheadroomfile extension (without dot)headroomfound headroomlicense headers configurationheadroom for which to list extensionsheadroom#list of appropriate file extensionsheadroomlicense headers configurationheadroom selected headroom appropriate +Operations related to files and file system(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone&lheadroomPolymorphic record composed of file system IO function types, allowing to abstract over concrete implementation. Whenever you need to use effectful functions from this module, consider using this record instead of using them directly, as it allows you to use different records for production code and for testing, which is not as easy if you wire some of the provided functions directly.headroom syntax, which is delimited with starting and ending pattern.8findBlockHeader "{-" "-}" ["", "{- HEADER -}", "", ""] 0 Just (1,1)headroomFinds header in the form of single-line comment5 syntax, which is delimited with the prefix pattern.?findLineHeader "--" ["", "a", "-- first", "-- second", "foo"] 0 Just (2,3)headroom-Finds very first line that matches the given regex (numbered from zero).import Headroom.Data.Regex (re):set -XQuasiQuotesfirstMatching [[re|^foo|]] ["some text", "foo bar", "foo baz", "last"]Just 1headroom,Finds very last line that matches the given regex (numbered from zero).import Headroom.Data.Regex (re):set -XQuasiQuoteslastMatching [[re|^foo|]] ["some text", "foo bar", "foo baz", "last"]Just 2headroom$Splits input lines into three parts: list of all lines located before the very last occurence of one of the conditions from the first condition list2list of all lines between the first and last listslist of all lines located after the very first occurence of one of the conditions from the second condition listIf both first and second patterns are empty, then all lines are returned in the middle list.import Headroom.Data.Regex (re):set -XQuasiQuotes|]] [[re|<-|]] "text\n->\nRESULT\n<-\nfoo"'(["text","->"],["RESULT"],["<-","foo"])4splitInput [] [[re|<-|]] "text\n->\nRESULT\n<-\nfoo"(([],["text","->","RESULT"],["<-","foo"])splitInput [] [] "one\ntwo"([],["one","two"],[]) headroomtype of the detected fileheadroomlicense header configurationheadroommetadata extracted from templateheadroomtext used for detectionheadroomresulting file infoheadroom%info about file where header is addedheadroomtext of the new headerheadroom(text of the file where to add the headerheadroom resulting text with added headerheadroom9info about the file from which the header will be droppedheadroom.text of the file from which to drop the headerheadroom"resulting text with dropped headerheadroom2info about the file in which to replace the headerheadroomtext of the new headerheadroom,text of the file where to replace the headerheadroom#resulting text with replaced headerheadroom appropriate header configurationheadroom"text in which to detect the headerheadroomheader position (startLine, endLine)headroomstarting pattern (e.g. {- or /*)headroomending pattern (e.g. -} or */)headroom+lines of text in which to detect the headerheadroom/line number offset (adds to resulting position)headroomheader position &(startLine + offset, endLine + offset)headroomprefix pattern (e.g. -- or //)headroom+lines of text in which to detect the headerheadroom/line number offset (adds to resulting position)headroomheader position &(startLine + offset, endLine + offset)headroomregex used for matchingheadroom input linesheadroommatching line numberheadroomregex used for matchingheadroom input linesheadroommatching line numberheadroompatterns for first splitheadroompatterns for second splitheadroom text to splitheadroomresult lines as -([before1stSplit], [middle], [after2ndSplit])   Support for license header functions(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone #$/>?yheadroom'Environemnt data type for the composed license header function ().headroom current yearheadroomconfiguration of license header functionsheadroommode used by the T license header functionheadroom Runs the license header function using the given  environment and text of rendered license header as input.headroomComposition of various license header functions!, which environment is based on YAML configuration and which can be enabled/disabled to fit end user's needs.headroomTakes already rendered license header7 and post-process it based on the given configuration.headroomConstructor function for ! data type. This function takes ` as argument, because it performs template compilation on selected fields of .headroomlicense header function to runheadroomenvironment valueheadroomtext of rendered license headerheadroomprocessed text of license headerheadroomconfiguration of license header functionsheadroom composed license header functionheadroom6configuration used to define post-processing behaviourheadroomrendered text of license headerheadroompost-processed text of license headerheadroom current yearheadroomtemplate variablesheadroomconfiguration of license header functionsheadroomenvironment data type   Template Haskell functions for Headroom.Embedded(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNoneheadroom.Embeds stub configuration file to source code.headroom1Embeds default configuration file to source code.headroomEmbeds  template file to the source code.headroom type of the licenseheadroomtype of the source code fileheadroomcontent of the appropriate template file!Embedded files(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNonetheadroomContent of dummy YAML( configuration file for the application.headroomDefault YAML configuration.headroom#License template for given license.headroom(license for which to return the templateheadroom(license for which to return the templateheadroom template text"Handler for the gen command.(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone FheadroomParses ( from combination of options from given .headroom Handler for  Generator command.headroom command from which to parse the headroomparsed headroom Generator command optionsheadroomexecution result#Handler for the run command.(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone  #$>?headroom Handler for Run command.headroom%Loads templates from the given paths.headroom$Loads built-in templates, stored in Headroom.Embedded, for the given .headroomTakes path to the template file and returns detected type of the template.headroom%Performs post-processing on rendered license header, based on given configuration. Currently the main points are to: ,sanitize possibly corrupted comment syntax ()apply license header functions ()headroom5Ensures that all lines in license header starts with  line-comment3 syntax if such syntax is used for license header.7sanitizeHeader (LineComment "--") "-- foo\nbar\n-- baz""-- foo\n-- bar\n-- baz"headroomRun command optionsheadroomexecution resultheadroompaths to template filesheadroommap of file types and templatesheadroom,license type for which to selected templatesheadroommap of file types and templatesheadroompath to the template fileheadroomdetected template typeheadroom%syntax of the license header commentsheadroomtemplate variablesheadroom rendered license header to post-processheadroompost-processed license headerheadroom%syntax of the license header commentsheadroominput text to sanitizeheadroomsanitized text$Handler for the init command(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone #$>?headroom*Paths to various locations of file system.headroomRIO Environment for the init command.headroom Handler for init command.headroomRecursively scans provided source paths for known file types for which templates can be generated.headroom6Checks whether application config file already exists.headroominit command optionsheadroomexecution result  %*Support for parsing command line arguments(c) 2019-2020 Vaclav Svejcar BSD-3-Clausevaclav.svejcar@gmail.com experimentalPOSIXNone headroomParses command line arguments.+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNOPQRST U V W W X Y Y Z [ [ \ ] ^ _ ` a b c d e f g h i i j k l m n o p q r s t u v w x x y z { | } ~            )   !!!""""""################$$$$$$$$$$$$$$$$$$$$%********'headroom-0.3.2.0-FohSG6ilKH38YDf4Xt3IMlHeadroom.Command.UtilsHeadroom.Data.EnumExtraHeadroom.Data.HasHeadroom.Data.LensHeadroom.Data.TextExtraHeadroom.FileType.TypesHeadroom.HeaderFn.TypesHeadroom.SerializationHeadroom.TypesHeadroom.Data.Regex!Headroom.HeaderFn.UpdateCopyrightHeadroom.UI.ProgressHeadroom.Variables.TypesHeadroom.TemplateHeadroom.Template.MustacheHeadroom.Ext.Haskell.HaddockHeadroom.Configuration.TypesHeadroom.FileTypeHeadroom.FileSystemHeadroom.FileSupport.TypesHeadroom.ConfigurationHeadroom.Command.TypesHeadroom.Command.Readers Headroom.MetaHeadroom.VariablesHeadroom.Ext.JavaHeadroom.Ext.HaskellHeadroom.Ext.PureScript Headroom.ExtHeadroom.FileSupportHeadroom.HeaderFnHeadroom.Embedded.THHeadroom.EmbeddedHeadroom.Command.GenHeadroom.Command.RunHeadroom.Command.InitHeadroom.Command Control.Lens makeLenses Headroom.UI mkVariablesPaths_headroom bootstrap EnumExtra allValuesallValuesToText enumToText textToEnumHasgettermodifierhasLensviewL suffixLensessuffixLensesFormapLinesread fromLinestoLinesFileTypeCCPPCSSHaskellHTMLJavaJS PureScriptRustScalaShell$fBoundedFileType$fEnumFileType$fEnumExtraFileType $fEqFileType $fOrdFileType$fShowFileTypeHeaderFn$fMonoidHeaderFn$fSemigroupHeaderFn aesonOptionsdropFieldPrefix symbolCaseprettyPrintYAML TemplateMetaHaskellTemplateMetaHaddockFieldOffsets hfoCopyright CurrentYear unCurrentYear HeadroomErrortoHeadroomErrorfromHeadroomError$fExceptionHeadroomError$fShowHeadroomError$fDefaultHaddockFieldOffsets$fEqTemplateMeta$fShowTemplateMeta$fEqHaddockFieldOffsets$fShowHaddockFieldOffsets$fEqCurrentYear$fShowCurrentYear RegexErrorCompilationFailedRegexcompilematchrereplacescan compileUnsafe$fFromJSONRegex$fExceptionRegexError$fShowRegexError $fEqRegex $fShowRegexUpdateCopyrightModeUpdateAllAuthorsUpdateSelectedAuthorsSelectedAuthorsupdateCopyright updateYears$fEqUpdateCopyrightMode$fShowUpdateCopyrightMode$fEqSelectedAuthors$fShowSelectedAuthorsProgresszipWithProgress$fDisplayProgress $fEqProgress$fShowProgress Variables$fMonoidVariables$fSemigroupVariables $fEqVariables$fShowVariables TemplateErrorMissingVariables ParseErrorTemplatetemplateExtensions parseTemplaterenderTemplate rawTemplate$fExceptionTemplateError$fEqTemplateError$fShowTemplateErrorMustache$fTemplateMustache$fShowMustacheHaddockModuleHeader hmhCopyright hmhLicense hmhMaintainerhmhPortability hmhStability hmhShortDesc hmhLongDescextractFieldOffsetsextractModuleHeader indentFieldstripCommentSyntax$fAlternativeP$fMonadP$fApplicativeP $fFunctorP$fEqHaddockModuleHeader$fShowHaddockModuleHeaderConfigurationErrorMissingConfigurationMixedHeaderSyntaxConfigurationKeyCkFileExtensionsCkHeaderSyntax CkMarginAfterCkMarginBefore CkPutAfter CkPutBefore CkRunMode CkSourcePathsCkExcludedPathsCkTemplateSource CkVariables CkEnabledPtHeadersConfigCtHeadersConfig HeadersConfighscChscCpphscCss hscHaskellhscHtmlhscJavahscJs hscPureScripthscRusthscScalahscShellPtHeaderConfigCtHeaderConfig HeaderConfighcFileExtensions hcMarginAfterhcMarginBefore hcPutAfter hcPutBeforehcHeaderSyntaxPtConfigurationCtConfiguration ConfigurationcRunMode cSourcePathscExcludedPathscTemplateSource cVariablescLicenseHeaderscHeaderFnConfigsPtHeaderFnConfigsCtHeaderFnConfigsHeaderFnConfigshfcsUpdateCopyrightPtHeaderFnConfigCtHeaderFnConfigHeaderFnConfig hfcEnabled hfcConfigPtUpdateCopyrightConfigCtUpdateCopyrightConfigUpdateCopyrightConfiguccSelectedAuthorsTemplateSource TemplateFilesBuiltInTemplatesGenMode GenConfigFile GenLicenseRunModeAddCheckDropReplace LicenseTypeApache2BSD3GPL2GPL3MITMPL2 HeaderSyntax BlockComment LineComment:::PhasePartialComplete$fFromJSONBlockComment'$fFromJSONLineComment'$fFromJSONRunMode$fMonoidUpdateCopyrightConfig $fSemigroupUpdateCopyrightConfig$fFromJSONUpdateCopyrightConfig$fFromJSONHeaderFnConfig$fMonoidHeaderFnConfig$fSemigroupHeaderFnConfig$fFromJSONHeaderFnConfigs$fMonoidHeaderFnConfigs$fSemigroupHeaderFnConfigs$fSemigroupHeaderConfig$fMonoidHeaderConfig$fMonoidConfiguration$fSemigroupConfiguration$fFromJSONConfiguration$fMonoidHeadersConfig$fSemigroupHeadersConfig$fFromJSONHeadersConfig$fExceptionConfigurationError$fFromJSONHeaderConfig$fEqConfigurationError$fShowConfigurationError$fEqConfigurationKey$fShowConfigurationKey$fEqTemplateSource$fShowTemplateSource $fEqGenMode $fShowGenMode $fEqRunMode $fShowRunMode$fBoundedLicenseType$fEnumLicenseType$fEnumExtraLicenseType$fEqLicenseType$fOrdLicenseType$fShowLicenseType$fEqLineComment'$fGenericLineComment'$fShowLineComment'$fEqBlockComment'$fGenericBlockComment'$fShowBlockComment'$fEqHeaderSyntax$fShowHeaderSyntax$fShowHeadersConfig$fShowHeadersConfig0$fEqHeadersConfig$fEqHeadersConfig0$fShowHeaderConfig$fShowHeaderConfig0$fEqHeaderConfig$fEqHeaderConfig0$fShowConfiguration$fShowConfiguration0$fEqConfiguration$fEqConfiguration0$fShowHeaderFnConfigs$fShowHeaderFnConfigs0$fEqHeaderFnConfigs$fEqHeaderFnConfigs0$fShowHeaderFnConfig$fShowHeaderFnConfig0$fEqHeaderFnConfig$fEqHeaderFnConfig0$fShowUpdateCopyrightConfig$fShowUpdateCopyrightConfig0$fEqUpdateCopyrightConfig$fEqUpdateCopyrightConfig0 fileTypeByExtlistExtensionsconfigByFileType FileSystemfsCreateDirectoryfsDoesFileExist fsFindFilesfsFindFilesByExtsfsFindFilesByTypesfsGetCurrentDirectory fsListFiles fsLoadFile LoadFileFn ListFilesFnGetCurrentDirectoryFnFindFilesByTypesFnFindFilesByExtsFn FindFilesFnDoesFileExistFnCreateDirectoryFn mkFileSystem findFilesfindFilesByExtsfindFilesByTypes listFiles fileExtensionloadFile excludePathsFileInfo fiFileTypefiHeaderConfig fiHeaderPos fiVariables $fEqFileInfo$fShowFileInfoloadConfigurationparseConfigurationmakeConfigurationmakeHeadersConfigmakeHeaderConfigCommandRunOptions croRunModecroSourcePathscroExcludedPathscroTemplateSource croVariablescroDebug croDryRunCommandInitOptionscioSourcePathscioLicenseTypeCommandGenOptions cgoGenModeCommandRunGenInit$fEqCommandRunOptions$fShowCommandRunOptions$fShowCommandInitOptions$fShowCommandGenOptions $fShowCommand licenseReaderlicenseTypeReader regexReaderparseLicenseAndFileType TemplateType buildVersion productDesc productInfo productNamewebsitedynamicVariablesparseVariablescompileVariables$fExceptionVariablesError$fEqVariablesError$fShowVariablesErrorextractPackageNameextractVariablesextractModuleNameextractTemplateMetaextractFileInfo addHeader dropHeader replaceHeader findHeaderfindBlockHeaderfindLineHeader firstMatching lastMatching splitInput ConfiguredEnv ceCurrentYearceHeaderFnConfigsceUpdateCopyrightMode runHeaderFnconfiguredHeaderFnpostProcessHeader$fEqConfiguredEnv$fShowConfiguredEnvmkConfiguredEnv%$fHasUpdateCopyrightModeConfiguredEnv$fHasCurrentYearConfiguredEnvembedConfigFileembedDefaultConfig embedTemplateconfigFileStub defaultConfiglicenseTemplate parseGenMode commandGen$fHasLogFuncEnv$fExceptionCommandGenError$fEqCommandGenError$fShowCommandGenError commandRunloadTemplateFilesloadBuiltInTemplatestypeOfTemplatepostProcessHeader'sanitizeHeader$fHasFileSystemEnv$fHasCurrentYearEnv$fHasCommandRunOptionsEnv $fHasCommandRunOptionsStartupEnv$fHasLogFuncStartupEnv$fHasStartupEnvEnv$fHasStartupEnvStartupEnv$fHasHeaderFnConfigsEnv$fHasConfigurationEnvPaths pConfigFile pTemplatesDirEnv envLogFunc envFileSystemenvInitOptionsenvPaths commandInitfindSupportedFileTypesdoesAppConfigExist $fHasPathsEnv$fHasCommandInitOptionsEnv$fExceptionCommandInitError$fEqCommandInitError$fShowCommandInitError commandParserbase Text.Read readMaybe text-1.2.3.2Data.Text.InternalTextGHC.BaseString Data.Textunlineslinestransformers-0.5.6.2Control.Monad.Trans.ReaderReaderTghc-prim GHC.TypesTrueFalseversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName