Skip to content

Commit

Permalink
Merge pull request #333 from totoroot/add-config-option-typos-hook
Browse files Browse the repository at this point in the history
Fix settings and add config option for `typos` hook
  • Loading branch information
domenkozar authored Aug 3, 2023
2 parents 52bf404 + 046d10f commit ebb43bd
Showing 1 changed file with 47 additions and 8 deletions.
55 changes: 47 additions & 8 deletions modules/hooks.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ in
{
configPath = mkOption {
type = types.str;
description = "path to the configuration YAML file";
description = lib.mdDoc "Path to the YAML configuration file.";
# an empty string translates to use default configuration of the
# underlying ansible-lint binary
default = "";
};
subdir = mkOption {
type = types.str;
description = "path to Ansible subdir";
description = lib.mdDoc "Path to the Ansible subdirectory.";
default = "";
};
};
Expand Down Expand Up @@ -278,12 +278,13 @@ in

configPath = mkOption {
type = types.str;
description = "path to the configuration JSON file";
description = lib.mdDoc "Path to the configuration JSON file";
# an empty string translates to use default configuration of the
# underlying rome binary (i.e rome.json if exists)
default = "";
};
};

typos =
{
color =
Expand All @@ -293,6 +294,30 @@ in
default = "auto";
};

config =
mkOption {
type = types.str;
description = lib.mdDoc "Multiline-string configuration passed as config file.";
default = "";
example = ''
[files]
ignore-dot = true
[default]
binary = false
[type.py]
extend-glob = []
'';
};

configPath =
mkOption {
type = types.str;
description = lib.mdDoc "Path to a custom config file.";
default = "";
};

diff =
mkOption {
type = types.bool;
Expand Down Expand Up @@ -332,7 +357,7 @@ in
write =
mkOption {
type = types.bool;
description = lib.mdDoc "Whether to write fixes out.";
description = lib.mdDoc "Whether to fix spelling in files by writing them. Cannot be used with `typos.settings.diff`.";
default = false;
};
};
Expand Down Expand Up @@ -495,13 +520,13 @@ in
{
relaxed = mkOption {
type = types.bool;
description = lib.mdDoc "Use the relaxed configuration";
description = lib.mdDoc "Whether to use the relaxed configuration.";
default = false;
};

configPath = mkOption {
type = types.str;
description = "path to the configuration YAML file";
description = lib.mdDoc "Path to the YAML configuration file.";
# an empty string translates to use default configuration of the
# underlying yamllint binary
default = "";
Expand Down Expand Up @@ -1223,8 +1248,22 @@ in
{
name = "typos";
description = "Source code spell checker";
entry = with settings.typos;
"${tools.typos}/bin/typos --color ${color} ${lib.optionalString diff "--diff"} --exclude ${exclude} --format ${format} {lib.optionalString hidden " - -hidden "} --locale ${locale} ${lib.optionalString write "-write-changes"}";
entry =
let
configFile = builtins.toFile "config.toml" "${settings.typos.config}";
cmdArgs =
mkCmdArgs
(with settings.typos; [
[ (color != "") "--color ${color}" ]
[ (configPath != "") "--config ${configPath}" ]
[ (config != "" && configPath == "") "--config ${configFile}" ]
[ (exclude != "") "--exclude ${exclude}" ]
[ (format != "") "--format ${format}" ]
[ (locale != "") "--locale ${locale}" ]
[ (write && !diff) "--write-changes" ]
]);
in
"${tools.typos}/bin/typos ${cmdArgs}${lib.optionalString settings.typos.diff " --diff"}${lib.optionalString settings.typos.hidden " --hidden"}";
types = [ "text" ];
};

Expand Down

0 comments on commit ebb43bd

Please sign in to comment.