úÎ#ýňÚ˛             ! " # $ % & ' ( ) * + , - . / 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 PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą$Environment for the Generate command(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneBheadroom"Represents what action should the  Generator perform.headroom generate YAML config file stubheadroom generate license header templateheadroomRIO Environment for the  Generator command.headroomlogging functionheadroomoptionsheadroomOptions for the  Generator command. headroomused  Generator command mode   Shared code for commands(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneuheadroom Bootstraps RIOT 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 resultLicense header utilities(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone#őheadroomSFinds line in given text that matches given predicate and returns its line number.headroomaFinds line starting with one of given patterns and returns its line number (specialized form of ).headroomCount lines that matches the given (multiline) regex. Useful for example to find how many lines are taken by multi-line comment in source code.headroom8Regex configuration for matching multi-line UTF strings.headroompredicate to find lineheadroom input textheadroom+number of line that matches given predicateheadroompatterns to useheadroom input textheadroom,number of line starting with one of patternsheadroomregular expression to useheadroom input textheadroom$number of lines matching given regex)Support for license header in Scala files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone*headroom=Returns size of license header (as number of lines) in given Scala— source code. Current implementation is pretty simple and it only takes line starting with one of the following keywords as the start of code itself: class object package(Support for license header in Java files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone/×headroom=Returns size of license header (as number of lines) in given Java— source code. Current implementation is pretty simple and it only takes line starting with one of the following keywords as the start of code itself: package.Support for license header in JavaScript files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone5headroom=Returns size of license header (as number of lines) in given JSy source code. The very first comment block is considered as license header, anything after as start of the actual code.+Support for license header in Haskell files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone;headroom=Returns size of license header (as number of lines) in given Haskell— source code. Current implementation is pretty simple and it only takes line starting with one of the following keywords as the start of code itself: {-# module(Support for license header in HTML files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone@1headroom=Returns size of license header (as number of lines) in given HTML source code. The very first HTMLV comment is considered as license header, anything after as start of the actual code. 'Support for license header in CSS files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneEWheadroom=Returns size of license header (as number of lines) in given CSSy source code. The very first comment block is considered as license header, anything after as start of the actual code."All license header implementations(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneGL Data types and instances(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_YŹheadroom Mode of the Run> command, states how to license headers in source code files.headroom1add license header if missing in source code fileheadroom6drop any license header if present in source code fileheadroom&replace existing or add license headerheadroomSProgress indication. First argument is current progress, second the maximum value.headroomRepresents newline separator. headroomline ends with r!headroomline ends with rn"headroomline ends with n#headroombRepresents fatal application error, that should be displayed to user in some human readable form.$headroom!invalid application configuration%headroomunknown license is selected in  Generator&headroominvalid variable format ( key=value)'headroom no mode for  Generator command is selected(headroom)not all variables were filled in template)headroomerror parsing template file*headroom=Error occured during validation of application configuration.+headroom&no paths to source code files provided,headroom-no paths to license header templates provided"! #)$%&'(*+,*+,#)$%&'("!  Extras for text manipulation(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_f7headroom?Detects which newline character is used in given text (if any).detectNewLine "foo\nbar"Just LF8headroom,Renders appropriate newline character (e.g. n ) for given  representation.showNewLine LF"\n"9headroomCSplit text into lines, return lines and detected newline separator.lines' "foo\nbar"(LF,["foo","bar"]):headroomKJoin individual text lines into single text, using given newline separator.unlines' LF ["foo", "bar"] "foo\nbar"7headroom input textheadroomdetected newline character8headroomnewline character to renderheadroomrendered character9headroom text to splitheadroom*detected newline separator and split lines789:789: tilities related to data types(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_nÖ;headroomReturns all values of enum.<headroomCustom Aeson options.=headroom"Drops prefix from camel-case text.dropFieldPrefix "xxHelloWorld" "helloWorld">headroom1Parses enum value from its string representation.?headroom=Transforms camel-case text into text cased with given symbol.symbolCase '-' "fooBar" "foo-bar"?headroomword separator symbolheadroom input textheadroomprocessed text;<=>?;<=>?  Supported source code file types(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_}ä @headroomhRepresents supported type of source code file, where license headers may be added, replaced or removed.AheadroomCSS source code fileBheadroomHaskell source code fileCheadroomHTML source code fileDheadroomJava source code fileEheadroom JavaScript source code fileFheadroomScala source code fileGheadroomReturns @( for given file extension (without dot).fileTypeByExt "hs" Just HaskellHheadroom/Lists all recognized file extensions for given @.listExtensions Haskell["hs"]IheadroomReads @! from its textual representation.fileTypeByName "haskell" Just HaskellGheadroomfile extension to search forheadroomcorresponding @ (if found)Hheadroom@ to list extensions forheadroomlist of found file extensionsIheadroomtextual representation of @headroomcorresponding @ (if found) @ABCDEFGHI @ABCDEFGHI'Representation of various license types(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone†éPheadroomLicense (specified by R and @)RheadroomType of the license.SheadroomApache License, version 2.0TheadroomBSD-3 licenseUheadroom GNU GPL v.2 licenseVheadroom GNU GPL v.3 licenseWheadroomMIT licenseXheadroomParses P3 from the raw string representation, formatted as licenseType:fileType.parseLicense "bsd3:haskell"Just (License BSD3 Haskell)Xheadroomraw string representationheadroomparsed P PQRSTUVWX PQRSTUVWXLicense header manipulation(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_Ÿčaheadroom=Generated license header for specified source code file type.cheadroomtype of the source codedheadroomtext of the headereheadroomŚAdds header to the given source code text if no existing header is detected, otherwise returns the unchanged input text. If you need to replace the header, use the i instead.fheadroomGChecks whether the license header is present in given source code text.gheadroomCDrops license header (if detected) from the given source code text.hheadroomZDetects what is the header size in terms of lines in the given source code text. Returns 0 if no header detected.iheadroomÓReplaces already existing (or adds if none detected) license header with the new one in the given source code text. If you need to only add header if none detected and skip if it already contains one, use the e instead.eheadroom'license header to add to the input textheadroomsource code textheadroom*source code text with added license headerfheadroom"type of the input source code textheadroomsource code textheadroomresult of checkgheadroom"type of the input source code textheadroomsource code textheadroom+source code text without the license headerhheadroom"type of the input source code textheadroomsource code textheadroom%size of the headers (number of lines)iheadroom)new license header to use for replacementheadroomsource code textheadroom-source code text with replaced license header abcdefghi abcdefghiFiles/directories manipulation(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneŽ>lheadroomKRecursively finds files on given path whose filename matches the predicate.mheadroom9Recursively finds files on given path by file extensions.nheadroom9Recursively find files on given path by their file types.oheadroomxRecursively find all files on given path. If file reference is passed instead of directory, such file path is returned.pheadroom$Loads file content in UTF8 encoding.lheadroompath to searchheadroompredicate to match filenameheadroom found filesmheadroompath to searchheadroom%list of file extensions (without dot)headroomlist of found filesnheadroompath to searchheadroomlist of file typesheadroomlist of found filesoheadroompath to searchheadroomlist of found filespheadroom file pathheadroom file contentlmnoplmnop,Generic support for license header templates(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneşŃqheadroom@Type class representing generic license header template support.rheadroomAReturns list of supported file extensions for this template type.sheadroom$Parses template from given raw text.theadroom3Renders parsed template and replaces all variables.uheadroom$Loads and parses template from file.rheadroomphantom parameter, not usedheadroom!list of supported file extensionssheadroomname of the template (optional)headroomraw template textheadroomparsed templatetheadroomvariables to replaceheadroomparsed template to renderheadroomrendered template textuheadroompath to template fileheadroomloaded and parsed templateqrstuqrstuSupport for Mustache templates(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone_žvheadroomThe Mustache template.xheadroom Support for Mustache templates.vwvwEmbedded resource files(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneÂćzheadroomContent of dummy YAML( configuration file for the application.{headroomLicense template for given P.{headroomP! for which to return the templateheadroom template textz{z{Logic for Generate command(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneĆu|headroom Handler for  Generator command.|headroom Generator command optionsheadroomexecution result||Application configuration(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone7ْ }headroomZApplication configuration, loaded either from configuration file or command line options.headroomselected mode of Run command€headroompaths to source code filesheadroompaths to template files‚headroomvariables to replaceƒheadroom;Loads and parses application configuration from given file.„headroomRewrites all file paths in }# to be relative to given file path.…headroom6Parses application configuration from given raw input.†headroom#Parses variables from raw input in  key=value format.parseVariables ["key1=value1"]fromList [("key1","value1")]‡headroomValidates whether given } contains valid data.Šheadroom'Support for reading configuration from YAML.ƒheadroompath to configuration fileheadroomparsed configuration„headroomfile path to useheadroominput application configurationheadroom"result with relativized file paths…headroomraw input to parseheadroom parsed application configuration†headroomlist of raw variablesheadroomparsed variables‡headroomapplication config to validateheadroom(validated application config (or errors) }~€‚ƒ„…†‡ }~€‚ƒ„…†‡Environment for the Run command(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNone祎headroomEnvironment value with Run command options.headroomRun command options lens.headroom1Environment value with application configuration.‘headroomApplication config lens.’headroomFull RIO environment for the Run command.”headroomstartup RIO environment•headroomapplication configuration–headroomInitial RIO startup environment for the Run command.˜headroomlogging function™headroomoptionsšheadroomOptions for the Run command.œheadroomused Run command modeheadroomsource code file pathsžheadroomtemplate file pathsŸheadroom raw variables headroomwhether to run in debug modeĄheadroomConverts options for Run! command into application config.ĄheadroomRun command optionsheadroomapplication configurationŽ‘’“”•–—˜™š›œžŸ Ąš›œžŸ –—˜™’“”•‘ŽĄLogic for Run command(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNonePëŒŤheadroom Handler for Run command.ŤheadroomRun command optionsheadroomexecution resultŤŤSafeëҲł´ľśˇ¸šApplication metadata(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneîÝŹheadroom-Returns application version, as specified in headroom.cabal file.ŹŹCommand line options processing(c) 2019-2020 Vaclav SvejcarBSD-3vaclav.svejcar@gmail.com experimentalPOSIXNoneňś­headroomApplication command.ŽheadroomRun commandŻheadroom Generator command°headroomParses command line arguments.­ŻŽ°­ŻŽ°ş !""#$%&'()*+,-./01 2 3 4 5 6 7 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 f g hiijklmnopqrstuvwxyyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’““”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŠ ŞŤŤŹ­ŽŻ°ą˛ł´ľ$śˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉheadroom-0.1.2.0-inplaceHeadroom.Command.Gen.EnvHeadroom.Command.SharedHeadroom.Header.UtilsHeadroom.Header.Impl.ScalaHeadroom.Header.Impl.JavaHeadroom.Header.Impl.JSHeadroom.Header.Impl.HaskellHeadroom.Header.Impl.HTMLHeadroom.Header.Impl.CSSHeadroom.Types Headroom.TextHeadroom.Types.UtilsHeadroom.FileTypeHeadroom.LicenseHeadroom.HeaderHeadroom.FileSystemHeadroom.TemplateHeadroom.Template.MustacheHeadroom.EmbeddedHeadroom.Command.GenHeadroom.AppConfigHeadroom.Command.Run.EnvHeadroom.Command.Run Headroom.MetaHeadroom.CommandHeadroom.Header.ImplPaths_headroomGenMode GenConfigFile GenLicenseEnv envLogFunc envGenOptions GenOptions goGenMode$fHasLogFuncEnv $fEqGenMode $fShowGenMode$fShowGenOptions bootstrapfindLinefindLineStartingWithlinesCountByRegexreMLheaderSizeScalaheaderSizeJava headerSizeJSheaderSizeHaskellheaderSizeHTML headerSizeCSSRunModeAddDropReplaceProgressNewLineCRCRLFLF HeadroomErrorInvalidAppConfigInvalidLicenseInvalidVariableNoGenModeSelectedMissingVariables ParseErrorAppConfigErrorEmptySourcePathsEmptyTemplatePaths$fExceptionHeadroomError$fShowProgress$fFromJSONRunMode$fShowAppConfigError$fShowHeadroomError $fEqNewLine $fShowNewLine $fEqProgress $fEqRunMode $fShowRunMode detectNewLine showNewLinelines'unlines' allValues customOptionsdropFieldPrefix readEnumCI symbolCaseFileTypeCSSHaskellHTMLJavaJSScala fileTypeByExtlistExtensionsfileTypeByName$fReadFileType$fBoundedFileType$fEnumFileType $fEqFileType $fOrdFileType$fShowFileTypeLicense LicenseTypeApache2BSD3GPL2GPL3MIT parseLicense$fReadLicenseType$fBoundedLicenseType$fEnumLicenseType$fEqLicenseType$fOrdLicenseType$fShowLicenseType $fShowLicense $fEqLicenseHeader hFileTypehContent addHeadercontainsHeader dropHeader headerSize replaceHeader $fEqHeader $fShowHeader findFilesfindFilesByExtsfindFilesByTypes listFilesloadFileTemplatetemplateExtensions parseTemplaterenderTemplate loadTemplateMustache$fTemplateMustache$fShowMustacheconfigFileStublicenseTemplate commandGen AppConfig acRunMode acSourcePathsacTemplatePaths acVariables loadAppConfigmakePathsRelativeToparseAppConfigparseVariablesvalidateAppConfig$fMonoidAppConfig$fSemigroupAppConfig$fFromJSONAppConfig $fEqAppConfig$fGenericAppConfig$fShowAppConfig HasRunOptions runOptionsL HasAppConfig appConfigLenvEnv envAppConfig StartupEnv envRunOptions RunOptions roRunMode roSourcePathsroTemplatePaths roVariablesroDebug toAppConfig$fHasLogFuncStartupEnv$fHasAppConfigEnv$fHasRunOptionsStartupEnv$fHasRunOptionsEnv $fHasEnvEnv$fHasEnvStartupEnv$fEqRunOptions$fShowRunOptions commandRunbuildVerCommandRunGen commandParser $fShowCommandversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName