id = "scc" name = "scc" description = "Counts lines of code, comments and complexity per language." homepage = "https://github.com/boyter/scc" executables = ["scc"] [commands] format = 1 label = "Count lines of code" description = "Count code in files or directories. Generated/minified detection tuning, COCOMO model options and remap flags are left out." quality = "ai-draft" base = "fig:scc" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "src" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/scc.ts" license = "MIT" [[commands.field]] id = "paths" label = "Files or directories" type = "path" position = 0 multiple = true path = { kind = "any", role = "input" } sources = ["src"] [[commands.field]] id = "format" label = "Output format" type = "enum" option = ["--format", "-f"] choices = [{ value = "tabular", label = "tabular" }, { value = "wide", label = "wide" }, { value = "json", label = "json" }, { value = "csv", label = "csv" }, { value = "csv-stream", label = "csv-stream" }, { value = "cloc-yaml", label = "cloc-yaml" }, { value = "html", label = "html" }, { value = "html-table", label = "html-table" }, { value = "sql", label = "sql" }, { value = "sql-insert", label = "sql-insert" }] sources = ["src"] [[commands.field]] id = "output" label = "Output file" type = "path" option = ["--output", "-o"] path = { kind = "file", role = "output" } sources = ["src"] [[commands.field]] id = "by_file" label = "Per-file output" type = "boolean" option = ["--by-file"] sources = ["src"] [[commands.field]] id = "sort" label = "Sort by" type = "enum" option = ["--sort", "-s"] choices = [{ value = "files", label = "files" }, { value = "name", label = "name" }, { value = "lines", label = "lines" }, { value = "blanks", label = "blanks" }, { value = "code", label = "code" }, { value = "comments", label = "comments" }, { value = "complexity", label = "complexity" }] sources = ["src"] [[commands.field]] id = "include_ext" label = "Only extensions (comma separated)" type = "string" option = ["--include-ext", "-i"] sources = ["src"] [[commands.field]] id = "exclude_dir" label = "Exclude directories (comma separated)" type = "string" option = ["--exclude-dir"] sources = ["src"] [[commands.field]] id = "not_match" label = "Ignore matching (regex)" type = "string" option = ["--not-match", "-M"] sources = ["src"] [[commands.field]] id = "wide" label = "Wide output" type = "boolean" option = ["--wide", "-w"] sources = ["src"] [[commands.field]] id = "no_complexity" label = "Skip complexity" type = "boolean" option = ["--no-complexity", "-c"] sources = ["src"] [[commands.field]] id = "no_cocomo" label = "Skip COCOMO" type = "boolean" option = ["--no-cocomo"] sources = ["src"] [[commands.field]] id = "no_duplicates" label = "Remove duplicate files" type = "boolean" option = ["--no-duplicates", "-d"] sources = ["src"] [[commands.field]] id = "no_gitignore" label = "Ignore .gitignore rules" type = "boolean" option = ["--no-gitignore"] sources = ["src"] [[commands.field]] id = "languages" label = "List supported languages" type = "boolean" option = ["--languages", "-l"] sources = ["src"] [[commands.task]] id = "count" label = "Count a directory" fields = ["paths", "sort"] required = [] [[commands.task]] id = "json" label = "JSON report" fields = ["paths", "format", "output"] required = [] set = { format = ["json"] } [[commands.task]] id = "perfile" label = "Per-file breakdown" fields = ["paths", "by_file", "sort"] required = [] set = { by_file = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["paths", "format", "output", "by_file", "sort", "include_ext"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["no_complexity", "no_cocomo", "no_duplicates", "no_gitignore", "languages", "not_match", "exclude_dir", "wide"]